@bananapus/nana-sdk-react 12.0.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/NativeTokenValue.d.ts +1 -1
- package/dist/components/NativeTokenValue.d.ts.map +1 -1
- package/dist/contexts/JBChainContext/JBChainContext.d.ts.map +1 -1
- package/dist/contexts/JBContractContext/JBContractContext.d.ts.map +1 -1
- package/dist/contexts/JBProjectMetadataContext/JBProjectMetadataContext.d.ts.map +1 -1
- package/dist/contexts/JBProjectProvider/JBProjectProvider.d.ts.map +1 -1
- package/dist/contexts/JBRulesetContext/JBRulesetContext.d.ts +1 -1
- package/dist/contexts/JBRulesetContext/JBRulesetContext.d.ts.map +1 -1
- package/dist/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.d.ts +1 -1
- package/dist/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.d.ts.map +1 -1
- package/dist/contexts/JBTerminalContext/JBTerminalContext.d.ts +1 -1
- package/dist/contexts/JBTerminalContext/JBTerminalContext.d.ts.map +1 -1
- package/dist/contexts/JBTokenContext/JBTokenContext.d.ts.map +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/jb721Hook/useFind721DataHook.d.ts.map +1 -1
- package/dist/hooks/ruleset/useJBRuleset.d.ts +6 -6
- package/dist/hooks/ruleset/useJBRuleset.d.ts.map +1 -1
- package/dist/hooks/ruleset/useJBUpcomingRuleset.d.ts.map +1 -1
- package/dist/hooks/ruleset/useResolveDataHook.d.ts +1 -1
- package/dist/hooks/ruleset/useResolveDataHook.d.ts.map +1 -1
- package/dist/hooks/shop/useOwnedShopItems.d.ts.map +1 -1
- package/dist/hooks/shop/useShopPurchases.d.ts.map +1 -1
- package/dist/hooks/suckers/useSuckers.d.ts.map +1 -1
- package/dist/hooks/token/useNativeTokenSurplus.d.ts.map +1 -1
- package/dist/hooks/token/useNativeTokenSymbol.d.ts.map +1 -1
- package/dist/hooks/token/useSuckersCashOutQuote.d.ts +13 -2
- package/dist/hooks/token/useSuckersCashOutQuote.d.ts.map +1 -1
- package/dist/hooks/token/useSuckersNativeTokenBalance.d.ts.map +1 -1
- package/dist/hooks/token/useSuckersTokenCashOutValue.d.ts +5 -1
- package/dist/hooks/token/useSuckersTokenCashOutValue.d.ts.map +1 -1
- package/dist/hooks/token/useSuckersUserTokenBalance.d.ts.map +1 -1
- package/dist/hooks/token/useTokenCashOutQuoteEth.d.ts +26 -0
- package/dist/hooks/token/useTokenCashOutQuoteEth.d.ts.map +1 -1
- package/dist/hooks/useEtherPrice.d.ts +8 -1
- package/dist/hooks/useEtherPrice.d.ts.map +1 -1
- package/dist/hooks/useNetwork.d.ts.map +1 -1
- package/dist/hooks/usePreparePayMetadata.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +471 -219
- package/dist/index.js.map +1 -1
- package/dist/lib/bendystraw/getBendystrawUrl.d.ts.map +1 -1
- package/dist/lib/bendystraw/useBendystrawQuery.d.ts.map +1 -1
- package/dist/lib/relayr/hooks/useGetRelayrTxBundle.d.ts.map +1 -1
- package/dist/lib/relayr/hooks/useRequestRelayrQuote.d.ts.map +1 -1
- package/dist/lib/relayr/hooks/useSendRelayrTx.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/NativeTokenValue.tsx","../src/hooks/token/useNativeTokenSymbol.ts","../src/contexts/JBChainContext/JBChainContext.tsx","../src/contexts/JBContractContext/JBContractContext.tsx","../src/hooks/usePreparePayMetadata.ts","../src/hooks/jb721Hook/helpers.ts","../src/hooks/jb721Hook/use721HookMetadataId.tsx","../src/hooks/useNetwork.ts","../src/hooks/jb721Hook/useFind721DataHook.tsx","../src/contexts/JBRulesetContext/JBRulesetContext.tsx","../src/hooks/ruleset/useResolveDataHook.ts","../src/contexts/types.ts","../src/contexts/JBDataHookContext/JBDataHookContext.tsx","../src/hooks/suckers/useSuckers.ts","../src/generated/graphql.ts","../src/lib/bendystraw/useBendystrawQuery.ts","../src/contexts/JBProjectProvider/JBProjectProvider.tsx","../src/contexts/JBDataHookContext/JBCurrentDataHookProvider.tsx","../src/contexts/JBProjectMetadataContext/JBProjectMetadataContext.tsx","../src/contexts/JBTokenContext/JBTokenContext.tsx","../src/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.tsx","../src/contexts/JBTerminalContext/JBTerminalContext.tsx","../src/lib/bendystraw/getBendystrawUrl.ts","../src/hooks/shop/useShopPurchases.ts","../../../node_modules/graphql/jsutils/devAssert.mjs","../../../node_modules/graphql/jsutils/isObjectLike.mjs","../../../node_modules/graphql/jsutils/invariant.mjs","../../../node_modules/graphql/language/location.mjs","../../../node_modules/graphql/language/printLocation.mjs","../../../node_modules/graphql/error/GraphQLError.mjs","../../../node_modules/graphql/error/syntaxError.mjs","../../../node_modules/graphql/language/ast.mjs","../../../node_modules/graphql/language/directiveLocation.mjs","../../../node_modules/graphql/language/kinds.mjs","../../../node_modules/graphql/language/characterClasses.mjs","../../../node_modules/graphql/language/blockString.mjs","../../../node_modules/graphql/language/tokenKind.mjs","../../../node_modules/graphql/language/lexer.mjs","../../../node_modules/graphql/jsutils/inspect.mjs","../../../node_modules/graphql/jsutils/instanceOf.mjs","../../../node_modules/graphql/language/source.mjs","../../../node_modules/graphql/language/parser.mjs","../src/lib/bendystraw/queries/shop.ts","../src/hooks/shop/useOwnedShopItems.ts","../src/hooks/token/useNativeTokenSurplus.ts","../src/hooks/token/useSuckersNativeTokenSurplus.ts","../src/hooks/token/useSuckersCashOutQuote.ts","../src/hooks/token/useTokenCashOutQuoteEth.ts","../src/hooks/token/useSuckersTokenCashOutValue.ts","../src/hooks/useEtherPrice.ts","../src/hooks/token/useSuckersUserTokenBalance.ts","../src/hooks/token/useSuckersNativeTokenBalance.ts","../src/hooks/ruleset/useJBRuleset.ts","../src/hooks/ruleset/useJBUpcomingRuleset.ts","../src/lib/relayr/constants.ts","../src/lib/relayr/hooks/useRequestRelayrQuote.ts","../src/lib/relayr/hooks/useSignErc2771ForwardRequest.ts","../src/lib/relayr/hooks/useGetRelayrTxQuote.ts","../src/lib/relayr/hooks/useGetRelayrTxBundle.ts","../src/lib/relayr/hooks/useSendRelayrTx.ts"],"sourcesContent":["import { NATIVE_TOKEN_DECIMALS, formatUnits } from \"@bananapus/nana-sdk-core\";\nimport { useNativeTokenSymbol } from \"../hooks/token/useNativeTokenSymbol\";\n\n/**\n * Format a native token value for display.\n *\n * The Native Token might be ETH, Sepolia ETH, etc.\n *\n * @param wei The native token value in wei (fixed-point number with 18 decimals).\n * @param decimals The number of decimal places (or 'fraction digits') to display.\n */\nexport function NativeTokenValue({ wei, decimals = 4 }: { wei: bigint; decimals?: number }) {\n const symbol = useNativeTokenSymbol();\n\n return (\n <>\n {formatUnits(wei, NATIVE_TOKEN_DECIMALS, {\n fractionDigits: decimals,\n })}{\" \"}\n {symbol}\n </>\n );\n}\n","import { DEFAULT_NATIVE_TOKEN_SYMBOL, JB_CHAINS, JBChainId } from \"@bananapus/nana-sdk-core\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\n\n/**\n * Return the human-readable token symbol for the chain set in JBChainContext.\n *\n * Depends on JBChainContext.\n */\nexport function useNativeTokenSymbol(chainId?: JBChainId) {\n const _chainId = chainId ?? useJBChainId();\n if (!_chainId) {\n return DEFAULT_NATIVE_TOKEN_SYMBOL;\n }\n\n return JB_CHAINS[_chainId]?.nativeTokenSymbol ?? DEFAULT_NATIVE_TOKEN_SYMBOL;\n}\n","import { debug, JBChainId } from \"@bananapus/nana-sdk-core\";\nimport { createContext, PropsWithChildren, useContext } from \"react\";\n\n/**\n * Context for project-specific contracts.\n */\nexport type JBChainContextData = {\n chainId: JBChainId | undefined;\n};\n\n/**\n * Context for project-specific contracts.\n */\nexport const JBChainContext = createContext<JBChainContextData>({\n chainId: undefined,\n});\n\nexport function useJBChainId(): JBChainId | undefined {\n const { chainId } = useContext(JBChainContext);\n return chainId;\n}\n\n/**\n * Load project-specific contract addresses for a given JB project.\n *\n * If `include` arg not specified, all contracts are loaded\n */\nexport const JBChainProvider = ({\n chainId,\n children,\n}: PropsWithChildren<{ chainId: JBChainId }>) => {\n debug(\"JBChainContext\", { chainId });\n\n return <JBChainContext.Provider value={{ chainId }}>{children}</JBChainContext.Provider>;\n};\n","import {\n JBChainId,\n NATIVE_TOKEN,\n debug,\n USDC_ADDRESSES,\n jbDirectoryAbi,\n jbControllerAbi,\n JBVersion,\n jbContractAddress,\n JBCoreContracts,\n getJBContractAddress,\n Contract,\n} from \"@bananapus/nana-sdk-core\";\nimport { PropsWithChildren, createContext, useCallback, useContext, useMemo } from \"react\";\nimport { Address, isAddressEqual, zeroAddress } from \"viem\";\nimport { useSuckers } from \"../../hooks\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Context for project-specific contracts.\n */\nexport type JBContractContextData = {\n projectId: bigint;\n version: JBVersion;\n contracts: {\n primaryNativeTerminal: AsyncData<Address>;\n controller: AsyncData<Address>;\n fundAccessLimits: AsyncData<Address>;\n rulesets: AsyncData<Address>;\n tokens: AsyncData<Address>;\n splits: AsyncData<Address>;\n };\n contractAddress: (contract: Contract, chainId?: JBChainId) => Address;\n};\n\n/**\n * Context for project-specific contracts.\n */\nexport const JBContractContext = createContext<JBContractContextData>({\n /**\n * The project id of the Juicebox project.\n */\n projectId: 0n,\n\n version: 5,\n\n /**\n * The addresses of the contracts for the project.\n */\n contracts: {\n primaryNativeTerminal: AsyncDataNone,\n controller: AsyncDataNone,\n fundAccessLimits: AsyncDataNone,\n rulesets: AsyncDataNone,\n tokens: AsyncDataNone,\n splits: AsyncDataNone,\n },\n\n contractAddress: () => zeroAddress,\n});\n\nexport function useJBContractContext() {\n return useContext(JBContractContext);\n}\n\n// contracts that are different across JB projects.\nexport enum DynamicContract {\n \"Controller\",\n \"PrimaryNativePaymentTerminal\",\n \"FundAccessLimits\",\n \"Tokens\",\n \"Splits\",\n \"Rulesets\",\n}\n\nexport type JBContractProviderProps = PropsWithChildren<{\n projectId: bigint;\n version: JBVersion;\n include?: DynamicContract[];\n}>;\n\n/**\n * Return the current project ID and chain ID. If `chainId` provided, return the project ID for that chain.\n * Otherwise, return the project ID for the current chain.\n */\nexport function useJBProjectId(chainId?: JBChainId): {\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n version: JBVersion;\n} {\n const currentChainId = useJBChainId();\n const { projectId: currentProjectId, version } = useJBContractContext();\n\n const { data: suckers } = useSuckers({ enabled: !!chainId });\n\n if (!chainId || currentChainId === chainId || !suckers) {\n return { projectId: currentProjectId, chainId: currentChainId, version };\n }\n\n const projectId = suckers.find((suckerPair) => suckerPair.peerChainId === chainId)?.projectId;\n\n return { projectId, chainId, version };\n}\n\n/**\n * Load project-specific contract addresses for a given JB project.\n *\n * If `include` arg not specified, all contracts are loaded\n */\nexport const JBContractProvider = ({\n projectId,\n include,\n children,\n version,\n}: JBContractProviderProps) => {\n const chainId = useJBChainId();\n const enabled = useCallback(\n (selector: DynamicContract[]) => {\n if (typeof include === \"undefined\") return true;\n return include.some((c) => selector.includes(c));\n },\n [include]\n );\n\n const jbDirectoryAddress = chainId\n ? jbContractAddress[version][JBCoreContracts.JBDirectory][chainId]\n : undefined;\n\n const primaryNativeTerminalEth = useReadContract({\n address: jbDirectoryAddress,\n abi: jbDirectoryAbi,\n functionName: \"primaryTerminalOf\",\n chainId,\n args: enabled([DynamicContract.PrimaryNativePaymentTerminal])\n ? [projectId, NATIVE_TOKEN]\n : undefined,\n });\n\n const primaryNativeTerminalUsdc = useReadContract({\n address: jbDirectoryAddress,\n abi: jbDirectoryAbi,\n functionName: \"primaryTerminalOf\",\n chainId,\n args: enabled([DynamicContract.PrimaryNativePaymentTerminal])\n ? [projectId, chainId ? USDC_ADDRESSES[chainId] : zeroAddress]\n : undefined,\n });\n\n const primaryNativeTerminal = useMemo(() => {\n return primaryNativeTerminalEth.data !== zeroAddress\n ? primaryNativeTerminalEth\n : primaryNativeTerminalUsdc;\n }, [primaryNativeTerminalEth, primaryNativeTerminalUsdc]);\n\n const controller = useReadContract({\n chainId,\n address: jbDirectoryAddress,\n abi: jbDirectoryAbi,\n functionName: \"controllerOf\",\n args: [projectId],\n query: {\n enabled: enabled([DynamicContract.Controller]),\n staleTime: Infinity,\n },\n });\n\n const controllerAddress = useMemo(() => controller.data, [controller.data]);\n\n const hasController = useMemo(() => {\n return controllerAddress && !isAddressEqual(controllerAddress, zeroAddress);\n }, [controllerAddress]);\n\n const normalizedControllerAddress = useMemo(() => {\n return hasController ? controllerAddress : zeroAddress;\n }, [controllerAddress, hasController]);\n\n const fundAccessLimits = useReadContract({\n chainId,\n address: normalizedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"FUND_ACCESS_LIMITS\",\n query: {\n enabled: enabled([DynamicContract.Controller, DynamicContract.FundAccessLimits]),\n staleTime: Infinity,\n },\n });\n\n const rulesets = useReadContract({\n chainId,\n address: normalizedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"RULESETS\",\n query: {\n enabled: enabled([DynamicContract.Controller, DynamicContract.Rulesets]),\n staleTime: Infinity,\n },\n });\n\n const tokens = useReadContract({\n chainId,\n address: normalizedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"TOKENS\",\n query: {\n enabled: enabled([DynamicContract.Controller, DynamicContract.Tokens]),\n staleTime: Infinity,\n },\n });\n\n const splits = useReadContract({\n chainId,\n address: normalizedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"SPLITS\",\n query: {\n enabled: enabled([DynamicContract.Controller, DynamicContract.Splits]),\n staleTime: Infinity,\n },\n });\n\n const contractAddress = useCallback(\n (contract: Contract, _chainId?: JBChainId) => {\n return getJBContractAddress(contract, version, _chainId || chainId!);\n },\n [version, chainId]\n );\n\n debug(\"JBContractContext\", {\n projectId,\n contracts: {\n controller,\n fundAccessLimits,\n primaryNativeTerminal,\n rulesets,\n tokens,\n splits,\n },\n });\n\n return (\n <JBContractContext.Provider\n value={{\n version,\n projectId,\n contracts: {\n controller,\n fundAccessLimits,\n primaryNativeTerminal,\n rulesets,\n tokens,\n splits,\n },\n contractAddress,\n }}\n >\n {children}\n </JBContractContext.Provider>\n );\n};\n","\"use client\";\nimport { DEFAULT_ALLOW_OVERSPENDING, createHookMetadata } from \"@bananapus/nana-sdk-core\";\nimport { Address, Hash, encodeAbiParameters } from \"viem\";\nimport { use721HookMetadataId } from \"./jb721Hook/use721HookMetadataId\";\nimport { debug } from \"@bananapus/nana-sdk-core\";\n\ninterface Jb721HookPayMetadata {\n tierIdsToMint: bigint[];\n allowOverspending?: boolean;\n}\n\nfunction encodeJB721HookPayMetadata(metadata: Jb721HookPayMetadata) {\n const args = [\n metadata.allowOverspending ?? DEFAULT_ALLOW_OVERSPENDING,\n metadata.tierIdsToMint.map(Number),\n ] as [boolean, readonly number[]];\n\n const encoded = encodeAbiParameters([{ type: \"bool\" }, { type: \"uint16[]\" }], args);\n return encoded;\n}\n\n/**\n * Returns pay metadata for the given arguments, depending on the current datasource.\n * @note only supports JB721Hook V3.4 datasource.\n * @note depends on JBDataSourceContext.\n * @todo support buy-back Hook.\n */\nexport function usePreparePayMetadata({\n jb721Hook,\n}: {\n jb721Hook?: { dataHookAddress: Address; tierIdsToMint: bigint[] };\n} = {}): Hash | null {\n const HookIds: string[] = [];\n const metadatas: string[] = [];\n\n const metadataId = use721HookMetadataId({\n dataHookAddress: jb721Hook?.dataHookAddress,\n });\n\n debug(\"usePreparePayMetadata\", { metadataId, jb721Hook });\n\n if (!jb721Hook || jb721Hook.tierIdsToMint.length == 0 || !metadataId) {\n return null;\n }\n\n const jb721HookMetadata = encodeJB721HookPayMetadata({\n tierIdsToMint: jb721Hook.tierIdsToMint,\n allowOverspending: DEFAULT_ALLOW_OVERSPENDING,\n });\n\n HookIds.push(metadataId);\n metadatas.push(jb721HookMetadata);\n\n return createHookMetadata(HookIds, metadatas) as Hash;\n}\n","import { Address, bytesToHex, keccak256, toBytes } from \"viem\";\n\n/**\n * createMetadataTargetIdPayHash returns metadataTargetId hashed with string `\"pay\"`.\n *\n * @link https://github.com/Bananapus/nana-core/blob/cfb1d4cd4e79bed840a9c8fcd17a0f397da3e3bf/src/libraries/JBMetadataResolver.sol#L280\n * bytes4(bytes20(target) ^ bytes20(keccak256(bytes(purpose))));\n */\nexport function createMetadataTargetIdPayHash(\n metadataTargetId: Address,\n purpose: string = \"pay\"\n) {\n const targetBytes = toBytes(metadataTargetId);\n const purposeBytes = toBytes(purpose);\n\n const targetBytes20 = targetBytes.slice(0, 20);\n const purposeBytes20 = toBytes(keccak256(purposeBytes)).slice(0, 20);\n\n const xorResult = targetBytes20.map((byte, i) => byte ^ purposeBytes20[i]);\n\n return bytesToHex(xorResult.slice(0, 4));\n}\n","import { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { Address } from \"viem\";\nimport { createMetadataTargetIdPayHash } from \"./helpers\";\nimport { jb721TiersHookAbi } from \"@bananapus/nana-sdk-core\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * use721HookMetadataId returns the METADATA_TARGET_ID of the given dataHookAddress, hashed with string `\"pay\"`.\n */\nexport function use721HookMetadataId({\n dataHookAddress,\n}: {\n dataHookAddress: Address | undefined;\n}) {\n const chainId = useJBChainId();\n const { data: hashedMetadataId } = useReadContract({\n abi: jb721TiersHookAbi,\n functionName: \"METADATA_ID_TARGET\",\n chainId,\n address: dataHookAddress,\n query: {\n enabled: !!dataHookAddress,\n select(metadataTargetId) {\n return createMetadataTargetIdPayHash(metadataTargetId, \"pay\");\n },\n },\n });\n\n return hashedMetadataId;\n}\n","\"use client\";\nimport { Chain } from \"viem\";\nimport { useAccount, useClient } from \"wagmi\";\n\n/**\n * Return the chain that the user is currently connected to.\n * If user is not connected, return the public chain. (configured in wagmiConfig)\n * @returns {Chain}\n */\nexport function useChain(): Chain | undefined {\n const { chain } = useAccount();\n const client = useClient();\n return chain ?? client?.chain;\n}\n","import { find721DataHook } from \"@bananapus/nana-sdk-core\";\nimport { usePublicClient } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useJBRulesetContext } from \"../../contexts/JBRulesetContext/JBRulesetContext\";\nimport { useJBDataHookContext } from \"../../contexts/JBDataHookContext/JBDataHookContext\";\nimport { debug } from \"@bananapus/nana-sdk-core\";\n\n/**\n * Return the 721 data hook (if it exists) for the project and current ruleset in context.\n */\nexport function useFind721DataHook() {\n const { data } = useJBDataHookContext();\n const { projectId, version } = useJBContractContext();\n const { ruleset } = useJBRulesetContext();\n const publicClient = usePublicClient();\n\n const rulesetId = ruleset.data?.id;\n const dataHookAddress = data?.dataHookAddress;\n\n debug(\"useFind721DataHook::args\", {\n projectId,\n rulesetId,\n dataHookAddress,\n publicClient,\n });\n\n const jb721DataHookQuery = useQuery({\n queryKey: [\"dataHook\", projectId, rulesetId, dataHookAddress],\n staleTime: Infinity,\n queryFn: async () => {\n if (!rulesetId || !dataHookAddress) return null;\n if (!publicClient) {\n throw new Error(\"Public client not available.\");\n }\n\n const jb721DataHook = await find721DataHook(publicClient, {\n dataHookAddress,\n projectId,\n rulesetId,\n version,\n });\n\n return jb721DataHook;\n },\n });\n\n return jb721DataHookQuery;\n}\n","import {\n CashOutTaxRate,\n debug,\n jbControllerAbi,\n ReservedPercent,\n RulesetWeight,\n WeightCutPercent,\n} from \"@bananapus/nana-sdk-core\";\nimport { createContext, useContext } from \"react\";\nimport { ContractFunctionReturnType } from \"viem\";\nimport { useReadContract } from \"wagmi\";\nimport { useResolveDataHook } from \"../../hooks/ruleset/useResolveDataHook\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\n\n/**\n * Context for the current ruleset of a project.\n */\nexport type JBRulesetContext = {\n /**\n * The current ruleset of the project.\n */\n ruleset: AsyncData<\n Omit<\n ContractFunctionReturnType<typeof jbControllerAbi, \"view\", \"currentRulesetOf\">[0],\n \"weight\" | \"weightCutPercent\"\n > & {\n weight: RulesetWeight;\n weightCutPercent: WeightCutPercent;\n }\n >;\n /**\n * The metadata for the current ruleset of the project.\n */\n rulesetMetadata: AsyncData<\n Omit<\n ContractFunctionReturnType<typeof jbControllerAbi, \"view\", \"currentRulesetOf\">[1],\n \"cashOutTaxRate\" | \"reservedPercent\"\n > & {\n cashOutTaxRate: CashOutTaxRate;\n reservedPercent: ReservedPercent;\n }\n >;\n};\n\n/**\n * Context for the project's current ruleset.\n */\nexport const JBRulesetContext = createContext<JBRulesetContext>({\n ruleset: AsyncDataNone,\n rulesetMetadata: AsyncDataNone,\n});\n\nexport function useJBRulesetContext() {\n return useContext(JBRulesetContext);\n}\n\n/**\n *\n * @deprecated use useJBRuleset instead\n */\nexport function useJBRulesetMetadata() {\n const { rulesetMetadata } = useJBRulesetContext();\n\n return rulesetMetadata;\n}\n\n/**\n * Provides the current ruleset for a project.\n *\n * @note depends on JBContractContext\n */\nexport const JBRulesetProvider = ({ children }: { children: React.ReactNode }) => {\n const { contracts, projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n const { data: ruleset, isLoading } = useReadContract({\n chainId,\n abi: jbControllerAbi,\n functionName: \"currentRulesetOf\",\n address: contracts.controller.data ?? undefined,\n args: [projectId],\n query: {\n select([ruleset, rulesetMetadata]) {\n return {\n data: {\n ...ruleset,\n weight: new RulesetWeight(ruleset.weight),\n weightCutPercent: new WeightCutPercent(ruleset.weightCutPercent),\n },\n metadata: {\n ...rulesetMetadata,\n cashOutTaxRate: new CashOutTaxRate(rulesetMetadata.cashOutTaxRate),\n reservedPercent: new ReservedPercent(rulesetMetadata.reservedPercent),\n // v4/v5 store the INVERSE flag (`useTotalSurplusForCashOuts`) in this slot;\n // normalize to the v6 field's semantics.\n scopeCashOutsToLocalBalances:\n version === 6\n ? rulesetMetadata.scopeCashOutsToLocalBalances\n : !rulesetMetadata.scopeCashOutsToLocalBalances,\n },\n };\n },\n },\n });\n\n const { resolvedDataHook } = useResolveDataHook({\n dataHookAddress: ruleset?.metadata?.dataHook,\n projectId,\n chainId,\n rulesetId: BigInt(ruleset?.data.id ?? 0),\n });\n\n const rulesetMetadataWithResolvedDataHook = ruleset?.metadata && {\n ...ruleset.metadata,\n dataHook: resolvedDataHook,\n };\n\n debug(\"JBRulesetContext\", {\n ruleset: {\n data: ruleset?.data,\n isLoading,\n },\n rulesetMetadata: {\n data: rulesetMetadataWithResolvedDataHook,\n isLoading,\n },\n });\n\n return (\n <JBRulesetContext.Provider\n value={{\n ruleset: {\n data: ruleset?.data,\n isLoading,\n },\n rulesetMetadata: {\n data: rulesetMetadataWithResolvedDataHook,\n isLoading,\n },\n }}\n >\n {children}\n </JBRulesetContext.Provider>\n );\n};\n","import {\n JBChainId,\n jbContractAddress,\n jbOmnichainDeployer4_1Abi,\n jbOmnichainDeployerAbi,\n jbOmnichainDeployerV5Abi,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\nimport { mainnet } from \"viem/chains\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Hook to resolve the actual dataHook address if it is the JBOmnichainDeployer address.\n *\n * @param dataHookAddress - The data hook address from the ruleset metadata\n * @param projectId - The project ID\n * @param chainId - The chain ID\n * @returns The resolved data hook address\n */\nexport function useResolveDataHook({\n dataHookAddress,\n projectId,\n chainId,\n rulesetId,\n}: {\n dataHookAddress: `0x${string}` | undefined;\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n rulesetId: bigint | undefined;\n}) {\n const { version } = useJBContractContext();\n\n const omnichainDeployerAddress =\n version === 4\n ? jbContractAddress[4][\"JBOmnichainDeployer4_1\"][mainnet.id]\n : jbContractAddress[version][\"JBOmnichainDeployer\"][mainnet.id]; // same on all chains\n\n // Check if the data hook is JBOmnichainDeployer\n const dataHookIsOmnichainDeployer = Boolean(\n dataHookAddress &&\n isAddressEqual(dataHookAddress, omnichainDeployerAddress),\n );\n\n const args =\n projectId && rulesetId ? ([projectId, rulesetId] as const) : undefined;\n\n // v4/v5: the omnichain deployer stores a single data hook config.\n const legacyDataHookQuery = useReadContract({\n abi: version === 4 ? jbOmnichainDeployer4_1Abi : jbOmnichainDeployerV5Abi,\n functionName: \"dataHookOf\",\n address: omnichainDeployerAddress,\n chainId,\n args,\n query: {\n enabled: version !== 6 && !!dataHookIsOmnichainDeployer && !!projectId,\n },\n });\n\n // v6: the omnichain deployer stores the tiered 721 hook and an optional extra data hook separately.\n const tiered721HookQuery = useReadContract({\n abi: jbOmnichainDeployerAbi,\n functionName: \"tiered721HookOf\",\n address: omnichainDeployerAddress,\n chainId,\n args,\n query: {\n enabled: version === 6 && !!dataHookIsOmnichainDeployer && !!projectId,\n },\n });\n const extraDataHookQuery = useReadContract({\n abi: jbOmnichainDeployerAbi,\n functionName: \"extraDataHookOf\",\n address: omnichainDeployerAddress,\n chainId,\n args,\n query: {\n enabled: version === 6 && !!dataHookIsOmnichainDeployer && !!projectId,\n },\n });\n\n const isLoading =\n version === 6\n ? tiered721HookQuery.isLoading || extraDataHookQuery.isLoading\n : legacyDataHookQuery.isLoading;\n const error =\n version === 6\n ? (tiered721HookQuery.error ?? extraDataHookQuery.error)\n : legacyDataHookQuery.error;\n\n if (!dataHookAddress)\n return {\n resolvedDataHook: zeroAddress,\n dataHookIsOmnichainDeployer,\n isLoading,\n error,\n };\n\n // Resolve the actual data hook address.\n let resolvedDataHook = dataHookAddress;\n if (dataHookIsOmnichainDeployer) {\n if (version === 6) {\n const tiered721Hook = tiered721HookQuery.data?.[0];\n const extraDataHook = extraDataHookQuery.data?.dataHook;\n if (tiered721Hook && !isAddressEqual(tiered721Hook, zeroAddress)) {\n resolvedDataHook = tiered721Hook;\n } else if (extraDataHook && !isAddressEqual(extraDataHook, zeroAddress)) {\n resolvedDataHook = extraDataHook;\n }\n } else if (legacyDataHookQuery.data?.[2]) {\n resolvedDataHook = legacyDataHookQuery.data[2];\n }\n }\n\n return {\n resolvedDataHook,\n dataHookIsOmnichainDeployer,\n isLoading,\n error,\n };\n}\n","export interface AsyncData<T> {\n isLoading: boolean;\n data: T | undefined | null;\n}\n\nconst AsyncDataNone: AsyncData<any> = {\n isLoading: false,\n data: undefined,\n};\n\nexport { AsyncDataNone };\n","import { PropsWithChildren, createContext, useContext, useMemo } from \"react\";\nimport { Address } from \"viem\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\nimport { debug } from \"@bananapus/nana-sdk-core\";\n\n/**\n * Data structure for the context for a given dataHook.\n */\nexport type JBDataHookContextData = AsyncData<{\n /**\n * Address of the dataHook.\n */\n dataHookAddress: Address;\n}>;\n\n/**\n * Context for a given dataHook.\n */\nexport const JBDataHookContext =\n createContext<JBDataHookContextData>(AsyncDataNone);\n\nexport function useJBDataHookContext() {\n return useContext(JBDataHookContext);\n}\n\nexport type JBDataHookProviderProps = PropsWithChildren<{\n dataHookAddress: Address | undefined;\n}>;\n\n/**\n * Provides information about a given dataHook.\n * ONLY SUPPORTS JB721Delegate!\n * @TODO support other dataHooks (e.g. buy-back delegate)\n *\n * @note depends on JBContractContext\n */\nexport const JBDataHookProvider = ({\n dataHookAddress,\n children,\n}: JBDataHookProviderProps) => {\n const data = useMemo(() => {\n if (!dataHookAddress) {\n return AsyncDataNone;\n }\n\n return {\n isLoading: false,\n data: {\n dataHookAddress,\n },\n } as JBDataHookContextData;\n }, [dataHookAddress]);\n\n debug(\"JBDataHookContext\", data);\n\n return (\n <JBDataHookContext.Provider value={data}>\n {children}\n </JBDataHookContext.Provider>\n );\n};\n","\"use client\";\n\nimport { debug, JBChainId } from \"@bananapus/nana-sdk-core\";\nimport { ProjectDocument } from \"src/generated/graphql\";\nimport { useBendystrawQuery } from \"src/lib/bendystraw/useBendystrawQuery\";\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n mainnet,\n optimism,\n optimismSepolia,\n sepolia,\n} from \"viem/chains\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useMemo } from \"react\";\n\n/**\n * Preferred chain ordering\n */\nconst chainOrder = [\n mainnet.id,\n base.id,\n optimism.id,\n arbitrum.id,\n\n sepolia.id,\n baseSepolia.id,\n optimismSepolia.id,\n arbitrumSepolia.id,\n];\n\n/**\n * Return sucker pairs for the project ID in context.\n *\n */\nexport function useSuckers(args?: { enabled: boolean }) {\n const { enabled = true } = args ?? {};\n const { projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n debug(\"useSuckers::args\", { projectId, chainId });\n\n const { data, ...rest } = useBendystrawQuery(\n ProjectDocument,\n {\n projectId: Number(projectId),\n chainId: Number(chainId),\n version,\n },\n { staleTime: Infinity, enabled: !!chainId && enabled },\n );\n\n const pairs = useMemo(\n () =>\n data?.project?.suckerGroup?.projects?.items\n .map((item) => ({\n peerChainId: item.chainId as JBChainId,\n projectId: BigInt(item.projectId),\n }))\n ?.sort((a, b) => {\n const aChainId = chainOrder.indexOf(a.peerChainId);\n const bChainId = chainOrder.indexOf(b.peerChainId);\n if (aChainId === -1 || bChainId === -1) return 0;\n return aChainId - bChainId;\n }),\n [data],\n );\n\n return { data: pairs, ...rest };\n}\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n BigInt: { input: any; output: any; }\n JSON: { input: any; output: any; }\n};\n\nexport type Meta = {\n status: Maybe<Scalars['JSON']['output']>;\n};\n\nexport type PageInfo = {\n endCursor: Maybe<Scalars['String']['output']>;\n hasNextPage: Scalars['Boolean']['output'];\n hasPreviousPage: Scalars['Boolean']['output'];\n startCursor: Maybe<Scalars['String']['output']>;\n};\n\nexport type Query = {\n _meta: Maybe<Meta>;\n _sucker: Maybe<_Sucker>;\n _suckers: _SuckerPage;\n activityEvent: Maybe<ActivityEvent>;\n activityEvents: ActivityEventPage;\n addToBalanceEvent: Maybe<AddToBalanceEvent>;\n addToBalanceEvents: AddToBalanceEventPage;\n autoIssueEvent: Maybe<AutoIssueEvent>;\n autoIssueEvents: AutoIssueEventPage;\n borrowLoanEvent: Maybe<BorrowLoanEvent>;\n borrowLoanEvents: BorrowLoanEventPage;\n burnEvent: Maybe<BurnEvent>;\n burnEvents: BurnEventPage;\n cashOutTokensEvent: Maybe<CashOutTokensEvent>;\n cashOutTokensEvents: CashOutTokensEventPage;\n decorateBannyEvent: Maybe<DecorateBannyEvent>;\n decorateBannyEvents: DecorateBannyEventPage;\n deployErc20Event: Maybe<DeployErc20Event>;\n deployErc20Events: DeployErc20EventPage;\n liquidateLoanEvent: Maybe<LiquidateLoanEvent>;\n liquidateLoanEvents: LiquidateLoanEventPage;\n loan: Maybe<Loan>;\n loans: LoanPage;\n mintNftEvent: Maybe<MintNftEvent>;\n mintNftEvents: MintNftEventPage;\n mintTokensEvent: Maybe<MintTokensEvent>;\n mintTokensEvents: MintTokensEventPage;\n nft: Maybe<Nft>;\n nftHook: Maybe<NftHook>;\n nftHooks: NftHookPage;\n nftTier: Maybe<NftTier>;\n nftTiers: NftTierPage;\n nfts: NftPage;\n participant: Maybe<Participant>;\n participantSnapshot: Maybe<ParticipantSnapshot>;\n participantSnapshots: ParticipantSnapshotPage;\n participants: ParticipantPage;\n payEvent: Maybe<PayEvent>;\n payEvents: PayEventPage;\n permissionHolder: Maybe<PermissionHolder>;\n permissionHolders: PermissionHolderPage;\n project: Maybe<Project>;\n projectCreateEvent: Maybe<ProjectCreateEvent>;\n projectCreateEvents: ProjectCreateEventPage;\n projectMoment: Maybe<ProjectMoment>;\n projectMoments: ProjectMomentPage;\n projects: ProjectPage;\n reallocateLoanEvent: Maybe<ReallocateLoanEvent>;\n reallocateLoanEvents: ReallocateLoanEventPage;\n repayLoanEvent: Maybe<RepayLoanEvent>;\n repayLoanEvents: RepayLoanEventPage;\n sendPayoutToSplitEvent: Maybe<SendPayoutToSplitEvent>;\n sendPayoutToSplitEvents: SendPayoutToSplitEventPage;\n sendPayoutsEvent: Maybe<SendPayoutsEvent>;\n sendPayoutsEvents: SendPayoutsEventPage;\n sendReservedTokensToSplitEvent: Maybe<SendReservedTokensToSplitEvent>;\n sendReservedTokensToSplitEvents: SendReservedTokensToSplitEventPage;\n sendReservedTokensToSplitsEvent: Maybe<SendReservedTokensToSplitsEvent>;\n sendReservedTokensToSplitsEvents: SendReservedTokensToSplitsEventPage;\n storeAutoIssuanceAmountEvent: Maybe<StoreAutoIssuanceAmountEvent>;\n storeAutoIssuanceAmountEvents: StoreAutoIssuanceAmountEventPage;\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupMoment: Maybe<SuckerGroupMoment>;\n suckerGroupMoments: SuckerGroupMomentPage;\n suckerGroups: SuckerGroupPage;\n useAllowanceEvent: Maybe<UseAllowanceEvent>;\n useAllowanceEvents: UseAllowanceEventPage;\n wallet: Maybe<Wallet>;\n wallets: WalletPage;\n};\n\n\nexport type Query_SuckerArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type Query_SuckersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<_SuckerFilter>;\n};\n\n\nexport type QueryActivityEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryActivityEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ActivityEventFilter>;\n};\n\n\nexport type QueryAddToBalanceEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryAddToBalanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AddToBalanceEventFilter>;\n};\n\n\nexport type QueryAutoIssueEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryAutoIssueEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AutoIssueEventFilter>;\n};\n\n\nexport type QueryBorrowLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryBorrowLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BorrowLoanEventFilter>;\n};\n\n\nexport type QueryBurnEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryBurnEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BurnEventFilter>;\n};\n\n\nexport type QueryCashOutTokensEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryCashOutTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<CashOutTokensEventFilter>;\n};\n\n\nexport type QueryDecorateBannyEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryDecorateBannyEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<DecorateBannyEventFilter>;\n};\n\n\nexport type QueryDeployErc20EventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryDeployErc20EventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<DeployErc20EventFilter>;\n};\n\n\nexport type QueryLiquidateLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryLiquidateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<LiquidateLoanEventFilter>;\n};\n\n\nexport type QueryLoanArgs = {\n chainId: Scalars['Float']['input'];\n id: Scalars['BigInt']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryLoansArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<LoanFilter>;\n};\n\n\nexport type QueryMintNftEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryMintNftEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintNftEventFilter>;\n};\n\n\nexport type QueryMintTokensEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryMintTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintTokensEventFilter>;\n};\n\n\nexport type QueryNftArgs = {\n chainId: Scalars['Float']['input'];\n hook: Scalars['String']['input'];\n tokenId: Scalars['BigInt']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryNftHookArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryNftHooksArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftHookFilter>;\n};\n\n\nexport type QueryNftTierArgs = {\n chainId: Scalars['Float']['input'];\n hook: Scalars['String']['input'];\n tierId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryNftTiersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftTierFilter>;\n};\n\n\nexport type QueryNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\n\nexport type QueryParticipantArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryParticipantSnapshotArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryParticipantSnapshotsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantSnapshotFilter>;\n};\n\n\nexport type QueryParticipantsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantFilter>;\n};\n\n\nexport type QueryPayEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryPayEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PayEventFilter>;\n};\n\n\nexport type QueryPermissionHolderArgs = {\n account: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n operator: Scalars['String']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryPermissionHoldersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PermissionHolderFilter>;\n};\n\n\nexport type QueryProjectArgs = {\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryProjectCreateEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryProjectCreateEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectCreateEventFilter>;\n};\n\n\nexport type QueryProjectMomentArgs = {\n block: Scalars['Float']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryProjectMomentsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectMomentFilter>;\n};\n\n\nexport type QueryProjectsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectFilter>;\n};\n\n\nexport type QueryReallocateLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryReallocateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ReallocateLoanEventFilter>;\n};\n\n\nexport type QueryRepayLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryRepayLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<RepayLoanEventFilter>;\n};\n\n\nexport type QuerySendPayoutToSplitEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendPayoutToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutToSplitEventFilter>;\n};\n\n\nexport type QuerySendPayoutsEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendPayoutsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutsEventFilter>;\n};\n\n\nexport type QuerySendReservedTokensToSplitEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendReservedTokensToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitEventFilter>;\n};\n\n\nexport type QuerySendReservedTokensToSplitsEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendReservedTokensToSplitsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitsEventFilter>;\n};\n\n\nexport type QueryStoreAutoIssuanceAmountEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryStoreAutoIssuanceAmountEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<StoreAutoIssuanceAmountEventFilter>;\n};\n\n\nexport type QuerySuckerGroupArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySuckerGroupMomentArgs = {\n block: Scalars['Float']['input'];\n suckerGroupId: Scalars['String']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QuerySuckerGroupMomentsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SuckerGroupMomentFilter>;\n};\n\n\nexport type QuerySuckerGroupsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SuckerGroupFilter>;\n};\n\n\nexport type QueryUseAllowanceEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryUseAllowanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<UseAllowanceEventFilter>;\n};\n\n\nexport type QueryWalletArgs = {\n address: Scalars['String']['input'];\n};\n\n\nexport type QueryWalletsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<WalletFilter>;\n};\n\nexport type _Sucker = {\n address: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type _SuckerFilter = {\n AND?: InputMaybe<Array<InputMaybe<_SuckerFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<_SuckerFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type _SuckerPage = {\n items: Array<_Sucker>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ActivityEvent = {\n addToBalanceEvent: Maybe<AddToBalanceEvent>;\n autoIssueEvent: Maybe<AutoIssueEvent>;\n borrowLoanEvent: Maybe<BorrowLoanEvent>;\n burnEvent: Maybe<BurnEvent>;\n cashOutTokensEvent: Maybe<CashOutTokensEvent>;\n chainId: Scalars['Int']['output'];\n decorateBannyEvent: Maybe<DecorateBannyEvent>;\n deployErc20Event: Maybe<DeployErc20Event>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n liquidateLoanEvent: Maybe<LiquidateLoanEvent>;\n mintNftEvent: Maybe<MintNftEvent>;\n mintTokensEvent: Maybe<MintTokensEvent>;\n payEvent: Maybe<PayEvent>;\n project: Maybe<Project>;\n projectCreateEvent: Maybe<ProjectCreateEvent>;\n projectId: Scalars['Int']['output'];\n reallocateLoanEvent: Maybe<ReallocateLoanEvent>;\n repayLoanEvent: Maybe<RepayLoanEvent>;\n sendPayoutToSplitEvent: Maybe<SendPayoutToSplitEvent>;\n sendPayoutsEvent: Maybe<SendPayoutsEvent>;\n sendReservedTokensToSplitEvent: Maybe<SendReservedTokensToSplitEvent>;\n sendReservedTokensToSplitsEvent: Maybe<SendReservedTokensToSplitsEvent>;\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n type: Maybe<ActivityEventType>;\n useAllowanceEvent: Maybe<UseAllowanceEvent>;\n version: Scalars['Int']['output'];\n};\n\nexport type ActivityEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<ActivityEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ActivityEventFilter>>>;\n addToBalanceEvent?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_contains?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addToBalanceEvent_not?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addToBalanceEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_contains?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n autoIssueEvent_not?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n autoIssueEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n borrowLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n borrowLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent?: InputMaybe<Scalars['String']['input']>;\n burnEvent_contains?: InputMaybe<Scalars['String']['input']>;\n burnEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n burnEvent_not?: InputMaybe<Scalars['String']['input']>;\n burnEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n burnEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n burnEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_contains?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n cashOutTokensEvent_not?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n cashOutTokensEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n decorateBannyEvent?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_contains?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n decorateBannyEvent_not?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n decorateBannyEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_contains?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployErc20Event_not?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_not_contains?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployErc20Event_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_starts_with?: InputMaybe<Scalars['String']['input']>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n liquidateLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n liquidateLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_contains?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintNftEvent_not?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintNftEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_contains?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTokensEvent_not?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTokensEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n payEvent?: InputMaybe<Scalars['String']['input']>;\n payEvent_contains?: InputMaybe<Scalars['String']['input']>;\n payEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n payEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payEvent_not?: InputMaybe<Scalars['String']['input']>;\n payEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n payEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n payEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n payEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_contains?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectCreateEvent_not?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectCreateEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reallocateLoanEvent?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reallocateLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reallocateLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n repayLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n repayLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutToSplitEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutToSplitEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutsEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutsEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitsEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitsEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<ActivityEventType>;\n type_in?: InputMaybe<Array<InputMaybe<ActivityEventType>>>;\n type_not?: InputMaybe<ActivityEventType>;\n type_not_in?: InputMaybe<Array<InputMaybe<ActivityEventType>>>;\n useAllowanceEvent?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_contains?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n useAllowanceEvent_not?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n useAllowanceEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type ActivityEventPage = {\n items: Array<ActivityEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport enum ActivityEventType {\n addToBalanceEvent = 'addToBalanceEvent',\n autoIssueEvent = 'autoIssueEvent',\n borrowLoanEvent = 'borrowLoanEvent',\n burnEvent = 'burnEvent',\n cashOutTokensEvent = 'cashOutTokensEvent',\n decorateBannyEvent = 'decorateBannyEvent',\n deployErc20Event = 'deployErc20Event',\n liquidateLoanEvent = 'liquidateLoanEvent',\n mintNftEvent = 'mintNftEvent',\n mintTokensEvent = 'mintTokensEvent',\n payEvent = 'payEvent',\n projectCreateEvent = 'projectCreateEvent',\n reallocateLoanEvent = 'reallocateLoanEvent',\n repayLoanEvent = 'repayLoanEvent',\n sendPayoutToSplitEvent = 'sendPayoutToSplitEvent',\n sendPayoutsEvent = 'sendPayoutsEvent',\n sendReservedTokensToSplitEvent = 'sendReservedTokensToSplitEvent',\n sendReservedTokensToSplitsEvent = 'sendReservedTokensToSplitsEvent',\n useAllowanceEvent = 'useAllowanceEvent'\n}\n\nexport type AddToBalanceEvent = {\n amount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n metadata: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n returnedFees: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type AddToBalanceEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<AddToBalanceEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<AddToBalanceEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadata?: InputMaybe<Scalars['String']['input']>;\n metadata_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not?: InputMaybe<Scalars['String']['input']>;\n metadata_not_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadata_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n returnedFees?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_gt?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_gte?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n returnedFees_lt?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_lte?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_not?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type AddToBalanceEventPage = {\n items: Array<AddToBalanceEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type AutoIssueEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n count: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n stageId: Scalars['BigInt']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type AutoIssueEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<AutoIssueEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<AutoIssueEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n count?: InputMaybe<Scalars['BigInt']['input']>;\n count_gt?: InputMaybe<Scalars['BigInt']['input']>;\n count_gte?: InputMaybe<Scalars['BigInt']['input']>;\n count_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n count_lt?: InputMaybe<Scalars['BigInt']['input']>;\n count_lte?: InputMaybe<Scalars['BigInt']['input']>;\n count_not?: InputMaybe<Scalars['BigInt']['input']>;\n count_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n stageId?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n stageId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type AutoIssueEventPage = {\n items: Array<AutoIssueEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type BorrowLoanEvent = {\n beneficiary: Scalars['String']['output'];\n borrowAmount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n collateral: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n prepaidDuration: Scalars['Int']['output'];\n prepaidFeePercent: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n sourceFeeAmount: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n terminal: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n token: Scalars['String']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type BorrowLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<BorrowLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<BorrowLoanEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n borrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateral?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateral_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidDuration?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidDuration_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n sourceFeeAmount?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n sourceFeeAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n terminal?: InputMaybe<Scalars['String']['input']>;\n terminal_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not?: InputMaybe<Scalars['String']['input']>;\n terminal_not_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n terminal_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n token?: InputMaybe<Scalars['String']['input']>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type BorrowLoanEventPage = {\n items: Array<BorrowLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type BurnEvent = {\n amount: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n creditAmount: Scalars['BigInt']['output'];\n erc20Amount: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type BurnEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<BurnEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<BurnEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n creditAmount?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n creditAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Amount?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type BurnEventPage = {\n items: Array<BurnEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type CashOutTokensEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n cashOutCount: Scalars['BigInt']['output'];\n cashOutTaxRate: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n holder: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n metadata: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n reclaimAmount: Scalars['BigInt']['output'];\n reclaimAmountUsd: Scalars['BigInt']['output'];\n rulesetCycleNumber: Scalars['BigInt']['output'];\n rulesetId: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type CashOutTokensEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<CashOutTokensEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<CashOutTokensEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n cashOutCount?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n cashOutCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n cashOutTaxRate?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_gt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_gte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n cashOutTaxRate_lt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_lte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_not?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n holder?: InputMaybe<Scalars['String']['input']>;\n holder_contains?: InputMaybe<Scalars['String']['input']>;\n holder_ends_with?: InputMaybe<Scalars['String']['input']>;\n holder_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n holder_not?: InputMaybe<Scalars['String']['input']>;\n holder_not_contains?: InputMaybe<Scalars['String']['input']>;\n holder_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n holder_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n holder_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n holder_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n metadata?: InputMaybe<Scalars['String']['input']>;\n metadata_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not?: InputMaybe<Scalars['String']['input']>;\n metadata_not_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadata_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reclaimAmount?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reclaimAmountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reclaimAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reclaimAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetId?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_not?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type CashOutTokensEventPage = {\n items: Array<CashOutTokensEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type DecorateBannyEvent = {\n backgroundId: Maybe<Scalars['BigInt']['output']>;\n bannyBodyId: Scalars['BigInt']['output'];\n bannyNft: Maybe<Nft>;\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n outfitIds: Maybe<Array<Scalars['BigInt']['output']>>;\n timestamp: Scalars['Int']['output'];\n tokenUri: Maybe<Scalars['String']['output']>;\n tokenUriMetadata: Maybe<Scalars['JSON']['output']>;\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type DecorateBannyEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<DecorateBannyEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<DecorateBannyEventFilter>>>;\n backgroundId?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n backgroundId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_not?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n bannyBodyId?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n bannyBodyId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_not?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n outfitIds?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n outfitIds_has?: InputMaybe<Scalars['BigInt']['input']>;\n outfitIds_not?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n outfitIds_not_has?: InputMaybe<Scalars['BigInt']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenUri?: InputMaybe<Scalars['String']['input']>;\n tokenUri_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type DecorateBannyEventPage = {\n items: Array<DecorateBannyEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type DeployErc20Event = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n name: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n symbol: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n token: Scalars['String']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type DeployErc20EventFilter = {\n AND?: InputMaybe<Array<InputMaybe<DeployErc20EventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<DeployErc20EventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not?: InputMaybe<Scalars['String']['input']>;\n name_not_contains?: InputMaybe<Scalars['String']['input']>;\n name_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n name_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n symbol?: InputMaybe<Scalars['String']['input']>;\n symbol_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not?: InputMaybe<Scalars['String']['input']>;\n symbol_not_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n symbol_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n token?: InputMaybe<Scalars['String']['input']>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type DeployErc20EventPage = {\n items: Array<DeployErc20Event>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type LiquidateLoanEvent = {\n borrowAmount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n collateral: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type LiquidateLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<LiquidateLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<LiquidateLoanEventFilter>>>;\n borrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n borrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateral?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateral_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type LiquidateLoanEventPage = {\n items: Array<LiquidateLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Loan = {\n beneficiary: Scalars['String']['output'];\n borrowAmount: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n collateral: Scalars['BigInt']['output'];\n createdAt: Scalars['Int']['output'];\n id: Scalars['BigInt']['output'];\n owner: Scalars['String']['output'];\n prepaidDuration: Scalars['Int']['output'];\n prepaidFeePercent: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n sourceFeeAmount: Scalars['BigInt']['output'];\n terminal: Scalars['String']['output'];\n token: Scalars['String']['output'];\n tokenUri: Maybe<Scalars['String']['output']>;\n version: Scalars['Int']['output'];\n};\n\nexport type LoanFilter = {\n AND?: InputMaybe<Array<InputMaybe<LoanFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<LoanFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n borrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateral?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateral_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n id?: InputMaybe<Scalars['BigInt']['input']>;\n id_gt?: InputMaybe<Scalars['BigInt']['input']>;\n id_gte?: InputMaybe<Scalars['BigInt']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n id_lt?: InputMaybe<Scalars['BigInt']['input']>;\n id_lte?: InputMaybe<Scalars['BigInt']['input']>;\n id_not?: InputMaybe<Scalars['BigInt']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n prepaidDuration?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidDuration_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n sourceFeeAmount?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n sourceFeeAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n terminal?: InputMaybe<Scalars['String']['input']>;\n terminal_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not?: InputMaybe<Scalars['String']['input']>;\n terminal_not_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n terminal_starts_with?: InputMaybe<Scalars['String']['input']>;\n token?: InputMaybe<Scalars['String']['input']>;\n tokenUri?: InputMaybe<Scalars['String']['input']>;\n tokenUri_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type LoanPage = {\n items: Array<Loan>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type MintNftEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n hook: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n nft: Maybe<Nft>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n tier: Maybe<NftTier>;\n tierId: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n tokenId: Scalars['BigInt']['output'];\n totalAmountPaid: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type MintNftEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<MintNftEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<MintNftEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n tierId?: InputMaybe<Scalars['Int']['input']>;\n tierId_gt?: InputMaybe<Scalars['Int']['input']>;\n tierId_gte?: InputMaybe<Scalars['Int']['input']>;\n tierId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId_lt?: InputMaybe<Scalars['Int']['input']>;\n tierId_lte?: InputMaybe<Scalars['Int']['input']>;\n tierId_not?: InputMaybe<Scalars['Int']['input']>;\n tierId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenId?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n totalAmountPaid?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_gt?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_gte?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n totalAmountPaid_lt?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_lte?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_not?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type MintNftEventPage = {\n items: Array<MintNftEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type MintTokensEvent = {\n beneficiary: Scalars['String']['output'];\n beneficiaryTokenCount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n reservedPercent: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenCount: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type MintTokensEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<MintTokensEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<MintTokensEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiaryTokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiaryTokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reservedPercent?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reservedPercent_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_not?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type MintTokensEventPage = {\n items: Array<MintTokensEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Nft = {\n category: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n customized: Maybe<Scalars['Boolean']['output']>;\n customizedAt: Scalars['Int']['output'];\n hook: Maybe<NftHook>;\n metadata: Maybe<Scalars['JSON']['output']>;\n mintTx: Scalars['String']['output'];\n owner: Maybe<Participant>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n tier: Maybe<NftTier>;\n tierId: Scalars['Int']['output'];\n tokenId: Scalars['BigInt']['output'];\n tokenUri: Maybe<Scalars['String']['output']>;\n version: Scalars['Int']['output'];\n wallet: Maybe<Wallet>;\n};\n\nexport type NftFilter = {\n AND?: InputMaybe<Array<InputMaybe<NftFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<NftFilter>>>;\n category?: InputMaybe<Scalars['Int']['input']>;\n category_gt?: InputMaybe<Scalars['Int']['input']>;\n category_gte?: InputMaybe<Scalars['Int']['input']>;\n category_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n category_lt?: InputMaybe<Scalars['Int']['input']>;\n category_lte?: InputMaybe<Scalars['Int']['input']>;\n category_not?: InputMaybe<Scalars['Int']['input']>;\n category_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n customized?: InputMaybe<Scalars['Boolean']['input']>;\n customizedAt?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_gt?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_gte?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n customizedAt_lt?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_lte?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_not?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n customized_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n customized_not?: InputMaybe<Scalars['Boolean']['input']>;\n customized_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTx?: InputMaybe<Scalars['String']['input']>;\n mintTx_contains?: InputMaybe<Scalars['String']['input']>;\n mintTx_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTx_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTx_not?: InputMaybe<Scalars['String']['input']>;\n mintTx_not_contains?: InputMaybe<Scalars['String']['input']>;\n mintTx_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTx_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTx_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTx_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId?: InputMaybe<Scalars['Int']['input']>;\n tierId_gt?: InputMaybe<Scalars['Int']['input']>;\n tierId_gte?: InputMaybe<Scalars['Int']['input']>;\n tierId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId_lt?: InputMaybe<Scalars['Int']['input']>;\n tierId_lte?: InputMaybe<Scalars['Int']['input']>;\n tierId_not?: InputMaybe<Scalars['Int']['input']>;\n tierId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenId?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenUri?: InputMaybe<Scalars['String']['input']>;\n tokenUri_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type NftHook = {\n address: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n name: Maybe<Scalars['String']['output']>;\n nftTiers: Maybe<NftTierPage>;\n nfts: Maybe<NftPage>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n symbol: Maybe<Scalars['String']['output']>;\n version: Scalars['Int']['output'];\n};\n\n\nexport type NftHookNftTiersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftTierFilter>;\n};\n\n\nexport type NftHookNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\nexport type NftHookFilter = {\n AND?: InputMaybe<Array<InputMaybe<NftHookFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<NftHookFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not?: InputMaybe<Scalars['String']['input']>;\n name_not_contains?: InputMaybe<Scalars['String']['input']>;\n name_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n name_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n symbol?: InputMaybe<Scalars['String']['input']>;\n symbol_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not?: InputMaybe<Scalars['String']['input']>;\n symbol_not_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n symbol_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type NftHookPage = {\n items: Array<NftHook>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type NftPage = {\n items: Array<Nft>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type NftTier = {\n allowOwnerMint: Maybe<Scalars['Boolean']['output']>;\n cannotBeRemoved: Maybe<Scalars['Boolean']['output']>;\n category: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n encodedIpfsUri: Maybe<Scalars['String']['output']>;\n hook: Maybe<NftHook>;\n initialSupply: Scalars['Int']['output'];\n metadata: Maybe<Scalars['JSON']['output']>;\n nfts: Maybe<NftPage>;\n price: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n remainingSupply: Scalars['Int']['output'];\n reserveBeneficiary: Maybe<Scalars['String']['output']>;\n reserveFrequency: Maybe<Scalars['Int']['output']>;\n resolvedUri: Maybe<Scalars['String']['output']>;\n svg: Maybe<Scalars['String']['output']>;\n tierId: Scalars['Int']['output'];\n transfersPausable: Maybe<Scalars['Boolean']['output']>;\n version: Scalars['Int']['output'];\n votingUnits: Maybe<Scalars['BigInt']['output']>;\n};\n\n\nexport type NftTierNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\nexport type NftTierFilter = {\n AND?: InputMaybe<Array<InputMaybe<NftTierFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<NftTierFilter>>>;\n allowOwnerMint?: InputMaybe<Scalars['Boolean']['input']>;\n allowOwnerMint_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n allowOwnerMint_not?: InputMaybe<Scalars['Boolean']['input']>;\n allowOwnerMint_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n cannotBeRemoved?: InputMaybe<Scalars['Boolean']['input']>;\n cannotBeRemoved_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n cannotBeRemoved_not?: InputMaybe<Scalars['Boolean']['input']>;\n cannotBeRemoved_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n category?: InputMaybe<Scalars['Int']['input']>;\n category_gt?: InputMaybe<Scalars['Int']['input']>;\n category_gte?: InputMaybe<Scalars['Int']['input']>;\n category_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n category_lt?: InputMaybe<Scalars['Int']['input']>;\n category_lte?: InputMaybe<Scalars['Int']['input']>;\n category_not?: InputMaybe<Scalars['Int']['input']>;\n category_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n encodedIpfsUri?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_contains?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n encodedIpfsUri_not?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n encodedIpfsUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n initialSupply?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_gt?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_gte?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n initialSupply_lt?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_lte?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_not?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n price?: InputMaybe<Scalars['BigInt']['input']>;\n price_gt?: InputMaybe<Scalars['BigInt']['input']>;\n price_gte?: InputMaybe<Scalars['BigInt']['input']>;\n price_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n price_lt?: InputMaybe<Scalars['BigInt']['input']>;\n price_lte?: InputMaybe<Scalars['BigInt']['input']>;\n price_not?: InputMaybe<Scalars['BigInt']['input']>;\n price_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n remainingSupply?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_gt?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_gte?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n remainingSupply_lt?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_lte?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_not?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reserveBeneficiary?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reserveBeneficiary_not?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reserveBeneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n reserveFrequency?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_gt?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_gte?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reserveFrequency_lt?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_lte?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_not?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n resolvedUri?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_contains?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n resolvedUri_not?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n resolvedUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n svg?: InputMaybe<Scalars['String']['input']>;\n svg_contains?: InputMaybe<Scalars['String']['input']>;\n svg_ends_with?: InputMaybe<Scalars['String']['input']>;\n svg_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n svg_not?: InputMaybe<Scalars['String']['input']>;\n svg_not_contains?: InputMaybe<Scalars['String']['input']>;\n svg_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n svg_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n svg_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n svg_starts_with?: InputMaybe<Scalars['String']['input']>;\n tierId?: InputMaybe<Scalars['Int']['input']>;\n tierId_gt?: InputMaybe<Scalars['Int']['input']>;\n tierId_gte?: InputMaybe<Scalars['Int']['input']>;\n tierId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId_lt?: InputMaybe<Scalars['Int']['input']>;\n tierId_lte?: InputMaybe<Scalars['Int']['input']>;\n tierId_not?: InputMaybe<Scalars['Int']['input']>;\n tierId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n transfersPausable?: InputMaybe<Scalars['Boolean']['input']>;\n transfersPausable_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n transfersPausable_not?: InputMaybe<Scalars['Boolean']['input']>;\n transfersPausable_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n votingUnits?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_gt?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_gte?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n votingUnits_lt?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_lte?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_not?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type NftTierPage = {\n items: Array<NftTier>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Participant = {\n address: Scalars['String']['output'];\n balance: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n creditBalance: Scalars['BigInt']['output'];\n erc20Balance: Scalars['BigInt']['output'];\n isRevnet: Maybe<Scalars['Boolean']['output']>;\n lastPaidTimestamp: Scalars['Int']['output'];\n nfts: Maybe<NftPage>;\n paymentsCount: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupId: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n wallet: Maybe<Wallet>;\n};\n\n\nexport type ParticipantNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\nexport type ParticipantFilter = {\n AND?: InputMaybe<Array<InputMaybe<ParticipantFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ParticipantFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n creditBalance?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n creditBalance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n isRevnet?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n isRevnet_not?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n lastPaidTimestamp?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n lastPaidTimestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ParticipantPage = {\n items: Array<Participant>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ParticipantSnapshot = {\n address: Scalars['String']['output'];\n balance: Scalars['BigInt']['output'];\n block: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n creditBalance: Scalars['BigInt']['output'];\n erc20Balance: Scalars['BigInt']['output'];\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\nexport type ParticipantSnapshotFilter = {\n AND?: InputMaybe<Array<InputMaybe<ParticipantSnapshotFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ParticipantSnapshotFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n block?: InputMaybe<Scalars['Int']['input']>;\n block_gt?: InputMaybe<Scalars['Int']['input']>;\n block_gte?: InputMaybe<Scalars['Int']['input']>;\n block_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n block_lt?: InputMaybe<Scalars['Int']['input']>;\n block_lte?: InputMaybe<Scalars['Int']['input']>;\n block_not?: InputMaybe<Scalars['Int']['input']>;\n block_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n creditBalance?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n creditBalance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ParticipantSnapshotPage = {\n items: Array<ParticipantSnapshot>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type PayEvent = {\n amount: Scalars['BigInt']['output'];\n amountUsd: Scalars['BigInt']['output'];\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n distributionFromProjectId: Maybe<Scalars['Int']['output']>;\n feeFromProject: Maybe<Scalars['Int']['output']>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n newlyIssuedTokenCount: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type PayEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<PayEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<PayEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n distributionFromProjectId?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_gt?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_gte?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n distributionFromProjectId_lt?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_lte?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_not?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n feeFromProject?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_gt?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_gte?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n feeFromProject_lt?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_lte?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_not?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n newlyIssuedTokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n newlyIssuedTokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type PayEventPage = {\n items: Array<PayEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type PermissionHolder = {\n account: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n operator: Scalars['String']['output'];\n permissions: Maybe<Array<Scalars['Int']['output']>>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type PermissionHolderFilter = {\n AND?: InputMaybe<Array<InputMaybe<PermissionHolderFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<PermissionHolderFilter>>>;\n account?: InputMaybe<Scalars['String']['input']>;\n account_contains?: InputMaybe<Scalars['String']['input']>;\n account_ends_with?: InputMaybe<Scalars['String']['input']>;\n account_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n account_not?: InputMaybe<Scalars['String']['input']>;\n account_not_contains?: InputMaybe<Scalars['String']['input']>;\n account_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n account_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n account_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n account_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n operator?: InputMaybe<Scalars['String']['input']>;\n operator_contains?: InputMaybe<Scalars['String']['input']>;\n operator_ends_with?: InputMaybe<Scalars['String']['input']>;\n operator_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n operator_not?: InputMaybe<Scalars['String']['input']>;\n operator_not_contains?: InputMaybe<Scalars['String']['input']>;\n operator_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n operator_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n operator_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n operator_starts_with?: InputMaybe<Scalars['String']['input']>;\n permissions?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n permissions_has?: InputMaybe<Scalars['Int']['input']>;\n permissions_not?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n permissions_not_has?: InputMaybe<Scalars['Int']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type PermissionHolderPage = {\n items: Array<PermissionHolder>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Project = {\n activityEvents: Maybe<ActivityEventPage>;\n addToBalanceEvents: Maybe<AddToBalanceEventPage>;\n autoIssueEvents: Maybe<AutoIssueEventPage>;\n balance: Scalars['BigInt']['output'];\n borrowLoanEvents: Maybe<BorrowLoanEventPage>;\n burnEvents: Maybe<BurnEventPage>;\n cashOutTokensEvents: Maybe<CashOutTokensEventPage>;\n chainId: Scalars['Int']['output'];\n contributorsCount: Scalars['Int']['output'];\n coverImageUri: Maybe<Scalars['String']['output']>;\n createdAt: Scalars['Int']['output'];\n createdWithinTrendingWindow: Maybe<Scalars['Boolean']['output']>;\n creator: Scalars['String']['output'];\n currency: Maybe<Scalars['BigInt']['output']>;\n decimals: Maybe<Scalars['Int']['output']>;\n deployErc20Events: Maybe<DeployErc20EventPage>;\n deployer: Scalars['String']['output'];\n description: Maybe<Scalars['String']['output']>;\n discord: Maybe<Scalars['String']['output']>;\n domain: Maybe<Scalars['String']['output']>;\n handle: Maybe<Scalars['String']['output']>;\n id: Scalars['String']['output'];\n infoUri: Maybe<Scalars['String']['output']>;\n isRevnet: Maybe<Scalars['Boolean']['output']>;\n liquidateLoanEvents: Maybe<LiquidateLoanEventPage>;\n logoUri: Maybe<Scalars['String']['output']>;\n metadata: Maybe<Scalars['JSON']['output']>;\n metadataUri: Maybe<Scalars['String']['output']>;\n mintNftEvents: Maybe<MintNftEventPage>;\n mintTokensEvents: Maybe<MintTokensEventPage>;\n name: Maybe<Scalars['String']['output']>;\n nftHooks: Maybe<NftHookPage>;\n nfts: Maybe<NftPage>;\n nftsMintedCount: Scalars['Int']['output'];\n owner: Scalars['String']['output'];\n participants: Maybe<ParticipantPage>;\n payDisclosure: Maybe<Scalars['String']['output']>;\n payEvents: Maybe<PayEventPage>;\n paymentsCount: Scalars['Int']['output'];\n permissionHolders: Maybe<PermissionHolderPage>;\n projectCreateEvents: Maybe<ProjectCreateEventPage>;\n projectId: Scalars['Int']['output'];\n projectMoments: Maybe<ProjectMomentPage>;\n projectTagline: Maybe<Scalars['String']['output']>;\n reallocateLoanEvents: Maybe<ReallocateLoanEventPage>;\n redeemCount: Scalars['Int']['output'];\n redeemVolume: Scalars['BigInt']['output'];\n redeemVolumeUsd: Scalars['BigInt']['output'];\n repayLoanEvents: Maybe<RepayLoanEventPage>;\n sendPayoutToSplitEvents: Maybe<SendPayoutToSplitEventPage>;\n sendPayoutsEvents: Maybe<SendPayoutsEventPage>;\n sendReservedTokensToSplitEvents: Maybe<SendReservedTokensToSplitEventPage>;\n sendReservedTokensToSplitsEvents: Maybe<SendReservedTokensToSplitsEventPage>;\n storeAutoIssuanceAmountEvent: Maybe<StoreAutoIssuanceAmountEventPage>;\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupId: Scalars['String']['output'];\n tags: Maybe<Array<Scalars['String']['output']>>;\n telegram: Maybe<Scalars['String']['output']>;\n token: Maybe<Scalars['String']['output']>;\n tokenSupply: Scalars['BigInt']['output'];\n tokens: Maybe<Array<Scalars['String']['output']>>;\n trendingPaymentsCount: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n trendingVolume: Scalars['BigInt']['output'];\n trendingVolumeUsd: Scalars['BigInt']['output'];\n twitter: Maybe<Scalars['String']['output']>;\n useAllowanceEvents: Maybe<UseAllowanceEventPage>;\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\n\nexport type ProjectActivityEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ActivityEventFilter>;\n};\n\n\nexport type ProjectAddToBalanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AddToBalanceEventFilter>;\n};\n\n\nexport type ProjectAutoIssueEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AutoIssueEventFilter>;\n};\n\n\nexport type ProjectBorrowLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BorrowLoanEventFilter>;\n};\n\n\nexport type ProjectBurnEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BurnEventFilter>;\n};\n\n\nexport type ProjectCashOutTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<CashOutTokensEventFilter>;\n};\n\n\nexport type ProjectDeployErc20EventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<DeployErc20EventFilter>;\n};\n\n\nexport type ProjectLiquidateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<LiquidateLoanEventFilter>;\n};\n\n\nexport type ProjectMintNftEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintNftEventFilter>;\n};\n\n\nexport type ProjectMintTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintTokensEventFilter>;\n};\n\n\nexport type ProjectNftHooksArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftHookFilter>;\n};\n\n\nexport type ProjectNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\n\nexport type ProjectParticipantsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantFilter>;\n};\n\n\nexport type ProjectPayEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PayEventFilter>;\n};\n\n\nexport type ProjectPermissionHoldersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PermissionHolderFilter>;\n};\n\n\nexport type ProjectProjectCreateEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectCreateEventFilter>;\n};\n\n\nexport type ProjectProjectMomentsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectMomentFilter>;\n};\n\n\nexport type ProjectReallocateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ReallocateLoanEventFilter>;\n};\n\n\nexport type ProjectRepayLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<RepayLoanEventFilter>;\n};\n\n\nexport type ProjectSendPayoutToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutToSplitEventFilter>;\n};\n\n\nexport type ProjectSendPayoutsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutsEventFilter>;\n};\n\n\nexport type ProjectSendReservedTokensToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitEventFilter>;\n};\n\n\nexport type ProjectSendReservedTokensToSplitsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitsEventFilter>;\n};\n\n\nexport type ProjectStoreAutoIssuanceAmountEventArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<StoreAutoIssuanceAmountEventFilter>;\n};\n\n\nexport type ProjectUseAllowanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<UseAllowanceEventFilter>;\n};\n\nexport type ProjectCreateEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type ProjectCreateEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<ProjectCreateEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ProjectCreateEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type ProjectCreateEventPage = {\n items: Array<ProjectCreateEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ProjectFilter = {\n AND?: InputMaybe<Array<InputMaybe<ProjectFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ProjectFilter>>>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n coverImageUri?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_contains?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n coverImageUri_not?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n coverImageUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdWithinTrendingWindow?: InputMaybe<Scalars['Boolean']['input']>;\n createdWithinTrendingWindow_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n createdWithinTrendingWindow_not?: InputMaybe<Scalars['Boolean']['input']>;\n createdWithinTrendingWindow_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n creator?: InputMaybe<Scalars['String']['input']>;\n creator_contains?: InputMaybe<Scalars['String']['input']>;\n creator_ends_with?: InputMaybe<Scalars['String']['input']>;\n creator_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n creator_not?: InputMaybe<Scalars['String']['input']>;\n creator_not_contains?: InputMaybe<Scalars['String']['input']>;\n creator_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n creator_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n creator_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n creator_starts_with?: InputMaybe<Scalars['String']['input']>;\n currency?: InputMaybe<Scalars['BigInt']['input']>;\n currency_gt?: InputMaybe<Scalars['BigInt']['input']>;\n currency_gte?: InputMaybe<Scalars['BigInt']['input']>;\n currency_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n currency_lt?: InputMaybe<Scalars['BigInt']['input']>;\n currency_lte?: InputMaybe<Scalars['BigInt']['input']>;\n currency_not?: InputMaybe<Scalars['BigInt']['input']>;\n currency_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n decimals?: InputMaybe<Scalars['Int']['input']>;\n decimals_gt?: InputMaybe<Scalars['Int']['input']>;\n decimals_gte?: InputMaybe<Scalars['Int']['input']>;\n decimals_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n decimals_lt?: InputMaybe<Scalars['Int']['input']>;\n decimals_lte?: InputMaybe<Scalars['Int']['input']>;\n decimals_not?: InputMaybe<Scalars['Int']['input']>;\n decimals_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n deployer?: InputMaybe<Scalars['String']['input']>;\n deployer_contains?: InputMaybe<Scalars['String']['input']>;\n deployer_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployer_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployer_not?: InputMaybe<Scalars['String']['input']>;\n deployer_not_contains?: InputMaybe<Scalars['String']['input']>;\n deployer_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployer_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployer_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n deployer_starts_with?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n description_contains?: InputMaybe<Scalars['String']['input']>;\n description_ends_with?: InputMaybe<Scalars['String']['input']>;\n description_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n description_not?: InputMaybe<Scalars['String']['input']>;\n description_not_contains?: InputMaybe<Scalars['String']['input']>;\n description_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n description_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n description_starts_with?: InputMaybe<Scalars['String']['input']>;\n discord?: InputMaybe<Scalars['String']['input']>;\n discord_contains?: InputMaybe<Scalars['String']['input']>;\n discord_ends_with?: InputMaybe<Scalars['String']['input']>;\n discord_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n discord_not?: InputMaybe<Scalars['String']['input']>;\n discord_not_contains?: InputMaybe<Scalars['String']['input']>;\n discord_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n discord_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n discord_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n discord_starts_with?: InputMaybe<Scalars['String']['input']>;\n domain?: InputMaybe<Scalars['String']['input']>;\n domain_contains?: InputMaybe<Scalars['String']['input']>;\n domain_ends_with?: InputMaybe<Scalars['String']['input']>;\n domain_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n domain_not?: InputMaybe<Scalars['String']['input']>;\n domain_not_contains?: InputMaybe<Scalars['String']['input']>;\n domain_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n domain_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n domain_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n domain_starts_with?: InputMaybe<Scalars['String']['input']>;\n handle?: InputMaybe<Scalars['String']['input']>;\n handle_contains?: InputMaybe<Scalars['String']['input']>;\n handle_ends_with?: InputMaybe<Scalars['String']['input']>;\n handle_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n handle_not?: InputMaybe<Scalars['String']['input']>;\n handle_not_contains?: InputMaybe<Scalars['String']['input']>;\n handle_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n handle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n handle_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n handle_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n infoUri?: InputMaybe<Scalars['String']['input']>;\n infoUri_contains?: InputMaybe<Scalars['String']['input']>;\n infoUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n infoUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n infoUri_not?: InputMaybe<Scalars['String']['input']>;\n infoUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n infoUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n infoUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n infoUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n infoUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n isRevnet?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n isRevnet_not?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n logoUri?: InputMaybe<Scalars['String']['input']>;\n logoUri_contains?: InputMaybe<Scalars['String']['input']>;\n logoUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n logoUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n logoUri_not?: InputMaybe<Scalars['String']['input']>;\n logoUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n logoUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n logoUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n logoUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n logoUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri?: InputMaybe<Scalars['String']['input']>;\n metadataUri_contains?: InputMaybe<Scalars['String']['input']>;\n metadataUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadataUri_not?: InputMaybe<Scalars['String']['input']>;\n metadataUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n metadataUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadataUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not?: InputMaybe<Scalars['String']['input']>;\n name_not_contains?: InputMaybe<Scalars['String']['input']>;\n name_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n name_starts_with?: InputMaybe<Scalars['String']['input']>;\n nftsMintedCount?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount_lt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_lte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_contains?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_ends_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payDisclosure_not?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_not_contains?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payDisclosure_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_starts_with?: InputMaybe<Scalars['String']['input']>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectTagline?: InputMaybe<Scalars['String']['input']>;\n projectTagline_contains?: InputMaybe<Scalars['String']['input']>;\n projectTagline_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectTagline_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectTagline_not?: InputMaybe<Scalars['String']['input']>;\n projectTagline_not_contains?: InputMaybe<Scalars['String']['input']>;\n projectTagline_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectTagline_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectTagline_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectTagline_starts_with?: InputMaybe<Scalars['String']['input']>;\n redeemCount?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount_lt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_lte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemVolume?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tags_has?: InputMaybe<Scalars['String']['input']>;\n tags_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tags_not_has?: InputMaybe<Scalars['String']['input']>;\n telegram?: InputMaybe<Scalars['String']['input']>;\n telegram_contains?: InputMaybe<Scalars['String']['input']>;\n telegram_ends_with?: InputMaybe<Scalars['String']['input']>;\n telegram_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n telegram_not?: InputMaybe<Scalars['String']['input']>;\n telegram_not_contains?: InputMaybe<Scalars['String']['input']>;\n telegram_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n telegram_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n telegram_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n telegram_starts_with?: InputMaybe<Scalars['String']['input']>;\n token?: InputMaybe<Scalars['String']['input']>;\n tokenSupply?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokens?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokens_has?: InputMaybe<Scalars['String']['input']>;\n tokens_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokens_not_has?: InputMaybe<Scalars['String']['input']>;\n trendingPaymentsCount?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingPaymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n twitter?: InputMaybe<Scalars['String']['input']>;\n twitter_contains?: InputMaybe<Scalars['String']['input']>;\n twitter_ends_with?: InputMaybe<Scalars['String']['input']>;\n twitter_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n twitter_not?: InputMaybe<Scalars['String']['input']>;\n twitter_not_contains?: InputMaybe<Scalars['String']['input']>;\n twitter_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n twitter_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n twitter_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n twitter_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ProjectMoment = {\n balance: Scalars['BigInt']['output'];\n block: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\nexport type ProjectMomentFilter = {\n AND?: InputMaybe<Array<InputMaybe<ProjectMomentFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ProjectMomentFilter>>>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n block?: InputMaybe<Scalars['Int']['input']>;\n block_gt?: InputMaybe<Scalars['Int']['input']>;\n block_gte?: InputMaybe<Scalars['Int']['input']>;\n block_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n block_lt?: InputMaybe<Scalars['Int']['input']>;\n block_lte?: InputMaybe<Scalars['Int']['input']>;\n block_not?: InputMaybe<Scalars['Int']['input']>;\n block_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ProjectMomentPage = {\n items: Array<ProjectMoment>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ProjectPage = {\n items: Array<Project>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ReallocateLoanEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n loanId: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n reallocatedLoanId: Scalars['BigInt']['output'];\n removedCollateralCount: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type ReallocateLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<ReallocateLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ReallocateLoanEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n loanId?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n loanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reallocatedLoanId?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reallocatedLoanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n removedCollateralCount?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n removedCollateralCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type ReallocateLoanEventPage = {\n items: Array<ReallocateLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type RepayLoanEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n collateralCountToReturn: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n loanId: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n paidOffLoanId: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n repayBorrowAmount: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type RepayLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<RepayLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<RepayLoanEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateralCountToReturn?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateralCountToReturn_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n loanId?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n loanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paidOffLoanId?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n paidOffLoanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n repayBorrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n repayBorrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type RepayLoanEventPage = {\n items: Array<RepayLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendPayoutToSplitEvent = {\n amount: Scalars['BigInt']['output'];\n amountUsd: Scalars['BigInt']['output'];\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n group: Scalars['BigInt']['output'];\n hook: Scalars['String']['output'];\n id: Scalars['String']['output'];\n lockedUntil: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n netAmount: Scalars['BigInt']['output'];\n percent: Scalars['Int']['output'];\n preferAddToBalance: Scalars['Boolean']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n splitProjectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendPayoutToSplitEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendPayoutToSplitEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendPayoutToSplitEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n group?: InputMaybe<Scalars['BigInt']['input']>;\n group_gt?: InputMaybe<Scalars['BigInt']['input']>;\n group_gte?: InputMaybe<Scalars['BigInt']['input']>;\n group_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n group_lt?: InputMaybe<Scalars['BigInt']['input']>;\n group_lte?: InputMaybe<Scalars['BigInt']['input']>;\n group_not?: InputMaybe<Scalars['BigInt']['input']>;\n group_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n lockedUntil?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n lockedUntil_lt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_lte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n netAmount?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n netAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n percent?: InputMaybe<Scalars['Int']['input']>;\n percent_gt?: InputMaybe<Scalars['Int']['input']>;\n percent_gte?: InputMaybe<Scalars['Int']['input']>;\n percent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n percent_lt?: InputMaybe<Scalars['Int']['input']>;\n percent_lte?: InputMaybe<Scalars['Int']['input']>;\n percent_not?: InputMaybe<Scalars['Int']['input']>;\n percent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n preferAddToBalance?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n preferAddToBalance_not?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId_lt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_lte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendPayoutToSplitEventPage = {\n items: Array<SendPayoutToSplitEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendPayoutsEvent = {\n amount: Scalars['BigInt']['output'];\n amountPaidOut: Scalars['BigInt']['output'];\n amountPaidOutUsd: Scalars['BigInt']['output'];\n amountUsd: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n fee: Scalars['BigInt']['output'];\n feeUsd: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n netLeftoverPayoutAmount: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetCycleNumber: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendPayoutsEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendPayoutsEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendPayoutsEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOutUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOut_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOut_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n fee?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n feeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n fee_gt?: InputMaybe<Scalars['BigInt']['input']>;\n fee_gte?: InputMaybe<Scalars['BigInt']['input']>;\n fee_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n fee_lt?: InputMaybe<Scalars['BigInt']['input']>;\n fee_lte?: InputMaybe<Scalars['BigInt']['input']>;\n fee_not?: InputMaybe<Scalars['BigInt']['input']>;\n fee_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n netLeftoverPayoutAmount?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n netLeftoverPayoutAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendPayoutsEventPage = {\n items: Array<SendPayoutsEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n groupId: Scalars['BigInt']['output'];\n hook: Scalars['String']['output'];\n id: Scalars['String']['output'];\n lockedUntil: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n percent: Scalars['Int']['output'];\n preferAddToBalance: Scalars['Boolean']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n splitProjectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenCount: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n groupId?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n groupId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_not?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n lockedUntil?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n lockedUntil_lt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_lte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n percent?: InputMaybe<Scalars['Int']['input']>;\n percent_gt?: InputMaybe<Scalars['Int']['input']>;\n percent_gte?: InputMaybe<Scalars['Int']['input']>;\n percent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n percent_lt?: InputMaybe<Scalars['Int']['input']>;\n percent_lte?: InputMaybe<Scalars['Int']['input']>;\n percent_not?: InputMaybe<Scalars['Int']['input']>;\n percent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n preferAddToBalance?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n preferAddToBalance_not?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId_lt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_lte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendReservedTokensToSplitEventPage = {\n items: Array<SendReservedTokensToSplitEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitsEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n leftoverAmount: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n owner: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetCycleNumber: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenCount: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitsEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitsEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitsEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n leftoverAmount?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n leftoverAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendReservedTokensToSplitsEventPage = {\n items: Array<SendReservedTokensToSplitsEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type StoreAutoIssuanceAmountEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n count: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n stageId: Scalars['BigInt']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type StoreAutoIssuanceAmountEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<StoreAutoIssuanceAmountEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<StoreAutoIssuanceAmountEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n count?: InputMaybe<Scalars['BigInt']['input']>;\n count_gt?: InputMaybe<Scalars['BigInt']['input']>;\n count_gte?: InputMaybe<Scalars['BigInt']['input']>;\n count_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n count_lt?: InputMaybe<Scalars['BigInt']['input']>;\n count_lte?: InputMaybe<Scalars['BigInt']['input']>;\n count_not?: InputMaybe<Scalars['BigInt']['input']>;\n count_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n stageId?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n stageId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type StoreAutoIssuanceAmountEventPage = {\n items: Array<StoreAutoIssuanceAmountEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SuckerGroup = {\n addresses: Array<Scalars['String']['output']>;\n balance: Scalars['BigInt']['output'];\n contributorsCount: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n id: Scalars['String']['output'];\n nftsMintedCount: Scalars['Int']['output'];\n paymentsCount: Scalars['Int']['output'];\n projects: Maybe<ProjectPage>;\n redeemCount: Scalars['Int']['output'];\n redeemVolume: Scalars['BigInt']['output'];\n redeemVolumeUsd: Scalars['BigInt']['output'];\n tokenSupply: Scalars['BigInt']['output'];\n trendingPaymentsCount: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n trendingVolume: Scalars['BigInt']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\n\nexport type SuckerGroupProjectsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectFilter>;\n};\n\nexport type SuckerGroupFilter = {\n AND?: InputMaybe<Array<InputMaybe<SuckerGroupFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SuckerGroupFilter>>>;\n addresses?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addresses_has?: InputMaybe<Scalars['String']['input']>;\n addresses_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addresses_not_has?: InputMaybe<Scalars['String']['input']>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n contributorsCount?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n nftsMintedCount?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount_lt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_lte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projects?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projects_has?: InputMaybe<Scalars['String']['input']>;\n projects_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projects_not_has?: InputMaybe<Scalars['String']['input']>;\n redeemCount?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount_lt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_lte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemVolume?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingPaymentsCount?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingPaymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type SuckerGroupMoment = {\n balance: Scalars['BigInt']['output'];\n block: Scalars['Int']['output'];\n contributorsCount: Scalars['Int']['output'];\n nftsMintedCount: Scalars['Int']['output'];\n paymentsCount: Scalars['Int']['output'];\n redeemCount: Scalars['Int']['output'];\n redeemVolume: Scalars['BigInt']['output'];\n redeemVolumeUsd: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenSupply: Scalars['BigInt']['output'];\n trendingPaymentsCount: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n trendingVolume: Scalars['BigInt']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\nexport type SuckerGroupMomentFilter = {\n AND?: InputMaybe<Array<InputMaybe<SuckerGroupMomentFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SuckerGroupMomentFilter>>>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n block?: InputMaybe<Scalars['Int']['input']>;\n block_gt?: InputMaybe<Scalars['Int']['input']>;\n block_gte?: InputMaybe<Scalars['Int']['input']>;\n block_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n block_lt?: InputMaybe<Scalars['Int']['input']>;\n block_lte?: InputMaybe<Scalars['Int']['input']>;\n block_not?: InputMaybe<Scalars['Int']['input']>;\n block_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount_lt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_lte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount_lt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_lte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemVolume?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenSupply?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingPaymentsCount?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingPaymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type SuckerGroupMomentPage = {\n items: Array<SuckerGroupMoment>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SuckerGroupPage = {\n items: Array<SuckerGroup>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type UseAllowanceEvent = {\n amount: Scalars['BigInt']['output'];\n amountPaidOut: Scalars['BigInt']['output'];\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n feeBeneficiary: Scalars['String']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n netAmountPaidOut: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetCycleNumber: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type UseAllowanceEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<UseAllowanceEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<UseAllowanceEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOut_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n feeBeneficiary?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n feeBeneficiary_not?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n feeBeneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n netAmountPaidOut?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_gt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_gte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n netAmountPaidOut_lt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_lte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_not?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type UseAllowanceEventPage = {\n items: Array<UseAllowanceEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Wallet = {\n address: Scalars['String']['output'];\n lastPaidTimestamp: Scalars['Int']['output'];\n nfts: Maybe<NftPage>;\n participants: Maybe<ParticipantPage>;\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\n\nexport type WalletNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\n\nexport type WalletParticipantsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantFilter>;\n};\n\nexport type WalletFilter = {\n AND?: InputMaybe<Array<InputMaybe<WalletFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<WalletFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n lastPaidTimestamp?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n lastPaidTimestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type WalletPage = {\n items: Array<Wallet>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ProjectQueryVariables = Exact<{\n projectId: Scalars['Float']['input'];\n chainId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n}>;\n\n\nexport type ProjectQuery = { project: { projectId: number, metadataUri: string | null, handle: string | null, createdAt: number, logoUri: string | null, name: string | null, version: number, suckerGroupId: string, suckerGroup: { projects: { items: Array<{ chainId: number, balance: any, tokenSupply: any, projectId: number }> } | null } | null } | null };\n\nexport type ProjectsQueryVariables = Exact<{\n where?: InputMaybe<ProjectFilter>;\n}>;\n\n\nexport type ProjectsQuery = { projects: { items: Array<{ projectId: number, metadataUri: string | null, handle: string | null, createdAt: number, suckerGroupId: string, version: number, participants: { totalCount: number } | null }> } };\n\nexport type ProjectAccountingContextQueryVariables = Exact<{\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n}>;\n\n\nexport type ProjectAccountingContextQuery = { project: { token: string | null, decimals: number | null, currency: any | null } | null };\n\n\nexport const ProjectDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Project\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"metadataUri\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"handle\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logoUri\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suckerGroupId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suckerGroup\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"balance\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tokenSupply\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode<ProjectQuery, ProjectQueryVariables>;\nexport const ProjectsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Projects\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"projectFilter\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"metadataUri\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"handle\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suckerGroupId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participants\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCount\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}]}}]}}]}}]} as unknown as DocumentNode<ProjectsQuery, ProjectsQueryVariables>;\nexport const ProjectAccountingContextDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProjectAccountingContext\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"token\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decimals\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currency\"}}]}}]}}]} as unknown as DocumentNode<ProjectAccountingContextQuery, ProjectAccountingContextQueryVariables>;","\"use client\";\n\nimport { type TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { requestBendystraw } from \"@bananapus/nana-sdk-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { analyzeDocument } from \"graphql-request\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useBendystrawConfig } from \"../../contexts/JBProjectProvider/JBProjectProvider\";\nimport { getBendystrawUrl } from \"./getBendystrawUrl\";\n\nexport function useBendystrawQuery<TResult, TVariables>(\n document: TypedDocumentNode<TResult, TVariables>,\n ...[variables, options]: TVariables extends Record<string, never>\n ? [\n undefined?,\n { pollInterval?: number; enabled?: boolean; staleTime?: number }?,\n ]\n : [\n TVariables,\n { pollInterval?: number; enabled?: boolean; staleTime?: number }?,\n ]\n): UseQueryResult<TResult> {\n const chainId = useJBChainId();\n const config = useBendystrawConfig();\n\n const url = chainId && config ? getBendystrawUrl(chainId, config) : undefined;\n const { expression, operationName } = analyzeDocument(document);\n\n if (!operationName) {\n throw new Error(\"Bendystraw operations must have a name.\");\n }\n\n return useQuery({\n queryKey: [operationName, chainId, url, variables],\n queryFn: async () =>\n requestBendystraw<TResult, object>(\n `${url}/graphql`,\n expression,\n variables as object,\n ),\n enabled: options?.enabled !== false && !!chainId && !!url,\n refetchInterval: options?.pollInterval,\n // requestBendystraw owns bounded transient retries. Retrying again here\n // would multiply requests and make timeout behavior inconsistent.\n retry: false,\n staleTime: options?.staleTime ?? 30000, // Consider data stale after 30 seconds by default\n gcTime: 5 * 60 * 1000, // Keep in cache for 5 minutes\n });\n}\n","import { createContext, PropsWithChildren, useContext } from \"react\";\nimport { JBChainProvider } from \"../JBChainContext/JBChainContext\";\nimport {\n JBContractProvider,\n JBContractProviderProps,\n} from \"../JBContractContext/JBContractContext\";\nimport { JBCurrentDataHookProvider } from \"../JBDataHookContext/JBCurrentDataHookProvider\";\nimport {\n JBProjectMetadataProvider,\n JBProjectMetadataProviderProps,\n} from \"../JBProjectMetadataContext/JBProjectMetadataContext\";\nimport { JBRulesetProvider } from \"../JBRulesetContext/JBRulesetContext\";\nimport { JBTokenProvider, JBTokenProviderProps } from \"../JBTokenContext/JBTokenContext\";\nimport { JBPrimaryNativeTerminalProvider } from \"../JBTerminalContext/JBPrimaryNativeTerminalProvider\";\nimport { JBChainId, JBVersion } from \"@bananapus/nana-sdk-core\";\nimport { BendystrawConfig } from \"../../lib/bendystraw/getBendystrawUrl\";\n\ntype JBProjectProviderProps = PropsWithChildren<{\n projectId: bigint;\n chainId: JBChainId;\n version: JBVersion;\n ctxProps?: {\n token?: JBTokenProviderProps;\n contract?: JBContractProviderProps;\n metadata?: JBProjectMetadataProviderProps;\n };\n bendystraw: BendystrawConfig;\n}>;\n\nexport type JBProjectContextData = {\n chainId: JBChainId;\n projectId: bigint;\n version: JBVersion;\n bendystraw: BendystrawConfig;\n};\n\nexport const JBProjectContext = createContext<JBProjectContextData | undefined>(undefined);\n\n/**\n * Juicebox project context provider. Loads all the data for a project.\n *\n * Allows for children to access:\n * - {@link JBContractContext}\n * - {@link JBFundingCycleContext}\n * - {@link JBTokenContext}\n */\nexport const JBProjectProvider = ({\n projectId,\n chainId,\n children,\n ctxProps,\n version,\n bendystraw,\n}: JBProjectProviderProps) => {\n return (\n <JBProjectContext.Provider value={{ chainId, projectId, version, bendystraw }}>\n <JBChainProvider chainId={chainId}>\n <JBContractProvider projectId={projectId} version={version} {...ctxProps?.contract}>\n <JBRulesetProvider>\n <JBProjectMetadataProvider {...ctxProps?.metadata}>\n <JBCurrentDataHookProvider>\n <JBPrimaryNativeTerminalProvider>\n <JBTokenProvider {...ctxProps?.token}>{children}</JBTokenProvider>\n </JBPrimaryNativeTerminalProvider>\n </JBCurrentDataHookProvider>\n </JBProjectMetadataProvider>\n </JBRulesetProvider>\n </JBContractProvider>\n </JBChainProvider>\n </JBProjectContext.Provider>\n );\n};\n\nexport function useJBProject(): Omit<JBProjectContextData, \"bendystraw\"> | undefined {\n return useContext(JBProjectContext);\n}\n\nexport function useBendystrawConfig(): BendystrawConfig | undefined {\n return useContext(JBProjectContext)?.bendystraw;\n}\n","import { debug } from \"@bananapus/nana-sdk-core\";\nimport { useJBRulesetMetadata } from \"../JBRulesetContext/JBRulesetContext\";\nimport { JBDataHookProvider } from \"./JBDataHookContext\";\n\n/**\n * Provide infortmaion about the current funding cycle's datahook.\n *\n * @note depends on JBFundingCycleContext\n */\nexport function JBCurrentDataHookProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const { data } = useJBRulesetMetadata();\n const dataHookAddress = data?.dataHook;\n\n debug(\"JBCurrentDataHookContext\", { dataHookAddress });\n\n return (\n <JBDataHookProvider dataHookAddress={dataHookAddress}>\n {children}\n </JBDataHookProvider>\n );\n}\n","import { JBProjectMetadata, debug, getProjectMetadata } from \"@bananapus/nana-sdk-core\";\nimport { createContext, useContext } from \"react\";\nimport { Address } from \"viem\";\nimport { usePublicClient } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\n\nexport type JBProjectMetadataContext = {\n metadata: AsyncData<JBProjectMetadata>;\n};\n\nexport const JBProjectMetadataContext = createContext<JBProjectMetadataContext>({\n metadata: AsyncDataNone,\n});\n\nexport function useJBProjectMetadataContext() {\n return useContext(JBProjectMetadataContext);\n}\n\nexport function useProjectMetadata({\n projectId,\n jbControllerAddress,\n ipfsGatewayHostname,\n}: {\n projectId: bigint | undefined;\n jbControllerAddress: Address | undefined;\n ipfsGatewayHostname?: string;\n}) {\n const chainId = useJBChainId();\n const publicClient = usePublicClient({ chainId });\n\n return useQuery({\n queryKey: [\n \"juice-sdk\",\n \"useProjectMetadata\",\n projectId?.toString(),\n jbControllerAddress,\n ipfsGatewayHostname,\n ],\n queryFn: async () => {\n if (!projectId || !jbControllerAddress) return null;\n\n if (!publicClient) {\n throw new Error(\"Public client not available.\");\n }\n\n const response = await getProjectMetadata(\n publicClient,\n {\n projectId,\n jbControllerAddress,\n },\n {\n ipfsGatewayHostname,\n }\n );\n\n return response ?? null;\n },\n });\n}\n\nexport type JBProjectMetadataProviderProps = {\n ipfsGatewayHostname?: string;\n};\n\n/**\n * Provides the metadata for the project in context.\n *\n * @note depends on JBContractContext\n */\nexport const JBProjectMetadataProvider = ({\n children,\n ipfsGatewayHostname,\n}: {\n children: React.ReactNode;\n} & JBProjectMetadataProviderProps) => {\n const { projectId, contracts } = useJBContractContext();\n const metadata = useProjectMetadata({\n projectId,\n jbControllerAddress: contracts.controller.data ?? undefined,\n ipfsGatewayHostname,\n });\n\n debug(\"JBProjectMetadataContext\", {\n projectId,\n ipfsGatewayHostname,\n contracts,\n metadata,\n });\n\n return (\n <JBProjectMetadataContext.Provider\n value={{ metadata: metadata as AsyncData<JBProjectMetadata> }}\n >\n {children}\n </JBProjectMetadataContext.Provider>\n );\n};\n","import {\n getJBContractAddress,\n jbControllerAbi,\n JBCoreContracts,\n JBProjectToken,\n jbTokensAbi,\n} from \"@bananapus/nana-sdk-core\";\nimport { createContext, PropsWithChildren, useContext } from \"react\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\nimport { useReadContract, useToken, UseTokenReturnType } from \"wagmi\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\n\n/**\n * Context for the token of a project.\n */\nexport type JBTokenContextData = {\n /**\n * The token of the project.\n */\n token: AsyncData<UseTokenReturnType[\"data\"]>;\n /**\n * The total outstanding tokens of the project.\n */\n totalOutstanding: AsyncData<JBProjectToken>;\n};\n\n/**\n * Context for the token of a project.\n */\nexport const JBTokenContext = createContext<JBTokenContextData>({\n /**\n * The token of the project.\n *\n * @default none {@link AsyncDataNone}\n */\n token: AsyncDataNone,\n /**\n * The total outstanding tokens of the project.\n *\n * @default none {@link AsyncDataNone}\n */\n totalOutstanding: AsyncDataNone,\n});\n\nexport function useJBTokenContext() {\n return useContext(JBTokenContext);\n}\n\nexport type JBTokenProviderProps = PropsWithChildren<{\n withTotalOutstanding?: boolean;\n}>;\n\n/**\n * Provides the token for a project.\n *\n * @note depends on JBContractContext\n */\nexport const JBTokenProvider = ({\n children,\n withTotalOutstanding,\n}: JBTokenProviderProps) => {\n const chainId = useJBChainId();\n\n const {\n projectId,\n version,\n contracts: { controller },\n } = useJBContractContext();\n\n const { data: tokenAddress } = useReadContract({\n address: getJBContractAddress(JBCoreContracts.JBTokens, version, chainId!),\n abi: jbTokensAbi,\n functionName: \"tokenOf\",\n chainId,\n args: [projectId],\n query: { enabled: !!projectId && !!chainId && !!version },\n });\n\n const fetchTokenEnabled = Boolean(\n tokenAddress && !isAddressEqual(tokenAddress, zeroAddress),\n );\n const token = useToken({\n chainId,\n address: fetchTokenEnabled ? tokenAddress : undefined,\n query: { enabled: fetchTokenEnabled },\n });\n\n const totalOutstandingRes = useReadContract({\n abi: jbControllerAbi,\n functionName: \"totalTokenSupplyWithReservedTokensOf\",\n chainId,\n address: controller?.data ?? undefined,\n args: withTotalOutstanding ? [projectId] : undefined,\n query: {\n enabled: withTotalOutstanding && controller?.data !== undefined,\n },\n });\n\n const totalOutstandingData =\n totalOutstandingRes?.data !== undefined\n ? new JBProjectToken(totalOutstandingRes?.data)\n : undefined;\n\n return (\n <JBTokenContext.Provider\n value={{\n token,\n totalOutstanding: {\n data: totalOutstandingData,\n isLoading: totalOutstandingRes?.isLoading,\n },\n }}\n >\n {children}\n </JBTokenContext.Provider>\n );\n};\n","import { debug } from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { JBTerminalProvider } from \"./JBTerminalContext\";\n\n/**\n * Provide infortmaion about the project's primary native terminal.\n *\n * @note depends on JBContractContext\n */\nexport function JBPrimaryNativeTerminalProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const { contracts } = useJBContractContext();\n const terminalAddress = contracts?.primaryNativeTerminal?.data;\n debug(\"JBPrimaryNativeTerminalProvider\", { terminalAddress });\n\n if (!terminalAddress) return children;\n\n return (\n <JBTerminalProvider address={terminalAddress}>\n {children}\n </JBTerminalProvider>\n );\n}\n","import { jbMultiTerminalAbi } from \"@bananapus/nana-sdk-core\";\nimport { PropsWithChildren, createContext, useContext } from \"react\";\nimport { Address, ContractFunctionReturnType, isAddressEqual, zeroAddress } from \"viem\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * [token] The address of the token that accounting is being done with.\n * [decimals] The number of decimals expected in that token's fixed point accounting.\n * [currency] The currency that the token is priced in terms of.\n */\ntype JBAccountingContext = ContractFunctionReturnType<\n typeof jbMultiTerminalAbi,\n \"view\",\n \"accountingContextsOf\"\n>[0];\n\nexport type JBTerminalContext = {\n address: Address | undefined;\n accountingContexts: AsyncData<readonly JBAccountingContext[] | undefined>;\n store: AsyncData<Address>;\n};\n\nexport const JBTerminalContext = createContext<JBTerminalContext>({\n address: undefined,\n accountingContexts: AsyncDataNone,\n store: AsyncDataNone,\n});\n\nexport function useJBTerminalContext() {\n return useContext(JBTerminalContext);\n}\n\ntype JBTerminalProviderProps = PropsWithChildren<{\n address: Address | undefined;\n}>;\n\n/**\n * Provide details about a given terminal.\n */\nexport const JBTerminalProvider = ({ address, children }: JBTerminalProviderProps) => {\n const chainId = useJBChainId();\n\n const { data: store, isLoading: isStoreLoading } = useReadContract({\n abi: jbMultiTerminalAbi,\n functionName: \"STORE\",\n chainId,\n address: address && isAddressEqual(address, zeroAddress) ? undefined : address,\n });\n\n const { data: accountingContexts, isLoading: accountingContextsLoading } = useReadContract({\n abi: jbMultiTerminalAbi,\n functionName: \"accountingContextsOf\",\n chainId,\n address: address && isAddressEqual(address, zeroAddress) ? undefined : address,\n });\n\n return (\n <JBTerminalContext.Provider\n value={{\n address,\n store: {\n data: store,\n isLoading: isStoreLoading,\n },\n accountingContexts: {\n data: accountingContexts,\n isLoading: accountingContextsLoading,\n },\n }}\n >\n {children}\n </JBTerminalContext.Provider>\n );\n};\n","import { arbitrum, base, mainnet, optimism } from \"viem/chains\";\n\nconst bendystrawUrl = \"https://bendystraw.xyz\";\nconst testnetBendystrawUrl = \"https://testnet.bendystraw.xyz\";\n\nexport type BendystrawConfig = {\n apiKey: string;\n url?: string;\n};\n\nexport function getBendystrawUrl(chainId: number, config: BendystrawConfig): string {\n const { url, apiKey } = config;\n if (url) return `${url}/${apiKey}`;\n\n const isMainnet = [mainnet, base, arbitrum, optimism].some((c) => c.id === chainId);\n return `${isMainnet ? bendystrawUrl : testnetBendystrawUrl}${apiKey !== \"\" ? `/${apiKey}` : \"\"}`;\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport {\n ShopPurchasesDocument,\n type ShopPurchase,\n} from \"../../lib/bendystraw/queries/shop\";\nimport { useBendystrawQuery } from \"../../lib/bendystraw/useBendystrawQuery\";\n\n/**\n * Store-item purchases (721 tier mints) for the project in context, newest\n * first — the \"customers\" feed. Reads bendystraw `mintNftEvents` for the\n * context chain.\n *\n * @param args.beneficiary Only purchases whose beneficiary is this address (the\n * connected wallet's own purchases). Omit for all buyers.\n * @param args.limit Page size. Defaults to 100.\n * @param args.offset Page offset for pagination. Defaults to 0.\n * @param args.enabled Whether to run the query. Defaults to true.\n */\nexport function useShopPurchases(args?: {\n beneficiary?: string;\n limit?: number;\n offset?: number;\n enabled?: boolean;\n}) {\n const { beneficiary, limit = 100, offset = 0, enabled = true } = args ?? {};\n const { projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n const { data, ...rest } = useBendystrawQuery(\n ShopPurchasesDocument,\n {\n where: {\n projectId: Number(projectId),\n chainId: Number(chainId),\n version: Number(version),\n ...(beneficiary ? { beneficiary: beneficiary.toLowerCase() } : {}),\n },\n limit,\n offset,\n },\n { enabled: !!chainId && !!projectId && enabled },\n );\n\n const purchases: ShopPurchase[] | undefined = useMemo(\n () =>\n data?.mintNftEvents.items.map((item) => ({\n ...item,\n chainId: Number(item.chainId),\n projectId: Number(item.projectId),\n timestamp: Number(item.timestamp),\n tierId: Number(item.tierId),\n tokenId: String(item.tokenId),\n totalAmountPaid: String(item.totalAmountPaid),\n })),\n [data],\n );\n\n return {\n data: purchases,\n totalCount: data?.mintNftEvents.totalCount,\n ...rest,\n };\n}\n","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport function isObjectLike(value) {\n return typeof value == 'object' && value !== null;\n}\n","export function invariant(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(\n message != null ? message : 'Unexpected invariant triggered.',\n );\n }\n}\n","import { invariant } from '../jsutils/invariant.mjs';\nconst LineRegExp = /\\r\\n|[\\n\\r]/g;\n/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n let lastLineStart = 0;\n let line = 1;\n\n for (const match of source.body.matchAll(LineRegExp)) {\n typeof match.index === 'number' || invariant(false);\n\n if (match.index >= position) {\n break;\n }\n\n lastLineStart = match.index + match[0].length;\n line += 1;\n }\n\n return {\n line,\n column: position + 1 - lastLineStart,\n };\n}\n","import { getLocation } from './location.mjs';\n\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\nexport function printLocation(location) {\n return printSourceLocation(\n location.source,\n getLocation(location.source, location.start),\n );\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n const firstLineColumnOffset = source.locationOffset.column - 1;\n const body = ''.padStart(firstLineColumnOffset) + source.body;\n const lineIndex = sourceLocation.line - 1;\n const lineOffset = source.locationOffset.line - 1;\n const lineNum = sourceLocation.line + lineOffset;\n const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n const columnNum = sourceLocation.column + columnOffset;\n const locationStr = `${source.name}:${lineNum}:${columnNum}\\n`;\n const lines = body.split(/\\r\\n|[\\n\\r]/g);\n const locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n const subLineIndex = Math.floor(columnNum / 80);\n const subLineColumnNum = columnNum % 80;\n const subLines = [];\n\n for (let i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return (\n locationStr +\n printPrefixedLines([\n [`${lineNum} |`, subLines[0]],\n ...subLines.slice(1, subLineIndex + 1).map((subLine) => ['|', subLine]),\n ['|', '^'.padStart(subLineColumnNum)],\n ['|', subLines[subLineIndex + 1]],\n ])\n );\n }\n\n return (\n locationStr +\n printPrefixedLines([\n // Lines specified like this: [\"prefix\", \"string\"],\n [`${lineNum - 1} |`, lines[lineIndex - 1]],\n [`${lineNum} |`, locationLine],\n ['|', '^'.padStart(columnNum)],\n [`${lineNum + 1} |`, lines[lineIndex + 1]],\n ])\n );\n}\n\nfunction printPrefixedLines(lines) {\n const existingLines = lines.filter(([_, line]) => line !== undefined);\n const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));\n return existingLines\n .map(([prefix, line]) => prefix.padStart(padLen) + (line ? ' ' + line : ''))\n .join('\\n');\n}\n","import { isObjectLike } from '../jsutils/isObjectLike.mjs';\nimport { getLocation } from '../language/location.mjs';\nimport {\n printLocation,\n printSourceLocation,\n} from '../language/printLocation.mjs';\n\nfunction toNormalizedOptions(args) {\n const firstArg = args[0];\n\n if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {\n return {\n nodes: firstArg,\n source: args[1],\n positions: args[2],\n path: args[3],\n originalError: args[4],\n extensions: args[5],\n };\n }\n\n return firstArg;\n}\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport class GraphQLError extends Error {\n /**\n * An array of `{ line, column }` locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n\n /**\n * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n */\n constructor(message, ...rawArgs) {\n var _this$nodes, _nodeLocations$, _ref;\n\n const { nodes, source, positions, path, originalError, extensions } =\n toNormalizedOptions(rawArgs);\n super(message);\n this.name = 'GraphQLError';\n this.path = path !== null && path !== void 0 ? path : undefined;\n this.originalError =\n originalError !== null && originalError !== void 0\n ? originalError\n : undefined; // Compute list of blame nodes.\n\n this.nodes = undefinedIfEmpty(\n Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,\n );\n const nodeLocations = undefinedIfEmpty(\n (_this$nodes = this.nodes) === null || _this$nodes === void 0\n ? void 0\n : _this$nodes.map((node) => node.loc).filter((loc) => loc != null),\n ); // Compute locations in the source for the given nodes/positions.\n\n this.source =\n source !== null && source !== void 0\n ? source\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : (_nodeLocations$ = nodeLocations[0]) === null ||\n _nodeLocations$ === void 0\n ? void 0\n : _nodeLocations$.source;\n this.positions =\n positions !== null && positions !== void 0\n ? positions\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => loc.start);\n this.locations =\n positions && source\n ? positions.map((pos) => getLocation(source, pos))\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => getLocation(loc.source, loc.start));\n const originalExtensions = isObjectLike(\n originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions,\n )\n ? originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions\n : undefined;\n this.extensions =\n (_ref =\n extensions !== null && extensions !== void 0\n ? extensions\n : originalExtensions) !== null && _ref !== void 0\n ? _ref\n : Object.create(null); // Only properties prescribed by the spec should be enumerable.\n // Keep the rest as non-enumerable.\n\n Object.defineProperties(this, {\n message: {\n writable: true,\n enumerable: true,\n },\n name: {\n enumerable: false,\n },\n nodes: {\n enumerable: false,\n },\n source: {\n enumerable: false,\n },\n positions: {\n enumerable: false,\n },\n originalError: {\n enumerable: false,\n },\n }); // Include (non-enumerable) stack trace.\n\n /* c8 ignore start */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n\n if (\n originalError !== null &&\n originalError !== void 0 &&\n originalError.stack\n ) {\n Object.defineProperty(this, 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true,\n });\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, GraphQLError);\n } else {\n Object.defineProperty(this, 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true,\n });\n }\n /* c8 ignore stop */\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n\n toString() {\n let output = this.message;\n\n if (this.nodes) {\n for (const node of this.nodes) {\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (this.source && this.locations) {\n for (const location of this.locations) {\n output += '\\n\\n' + printSourceLocation(this.source, location);\n }\n }\n\n return output;\n }\n\n toJSON() {\n const formattedError = {\n message: this.message,\n };\n\n if (this.locations != null) {\n formattedError.locations = this.locations;\n }\n\n if (this.path != null) {\n formattedError.path = this.path;\n }\n\n if (this.extensions != null && Object.keys(this.extensions).length > 0) {\n formattedError.extensions = this.extensions;\n }\n\n return formattedError;\n }\n}\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * See: https://spec.graphql.org/draft/#sec-Errors\n */\n\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */\nexport function printError(error) {\n return error.toString();\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */\n\nexport function formatError(error) {\n return error.toJSON();\n}\n","import { GraphQLError } from './GraphQLError.mjs';\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(`Syntax Error: ${description}`, {\n source,\n positions: [position],\n });\n}\n","/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport class Location {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n constructor(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n get [Symbol.toStringTag]() {\n return 'Location';\n }\n\n toJSON() {\n return {\n start: this.start,\n end: this.end,\n };\n }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n *\n * Note: is undefined for punctuation tokens, but typed as string for\n * convenience in the parser.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n constructor(kind, start, end, line, column, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n this.value = value;\n this.prev = null;\n this.next = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'Token';\n }\n\n toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column,\n };\n }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: [\n 'name',\n 'variableDefinitions',\n 'directives',\n 'selectionSet',\n ],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: [\n 'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n 'variableDefinitions',\n 'typeCondition',\n 'directives',\n 'selectionSet',\n ],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: [\n 'description',\n 'name',\n 'type',\n 'defaultValue',\n 'directives',\n ],\n InterfaceTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n const maybeKind =\n maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n OperationTypeNode['QUERY'] = 'query';\n OperationTypeNode['MUTATION'] = 'mutation';\n OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed directive location values.\n */\nvar DirectiveLocation;\n\n(function (DirectiveLocation) {\n DirectiveLocation['QUERY'] = 'QUERY';\n DirectiveLocation['MUTATION'] = 'MUTATION';\n DirectiveLocation['SUBSCRIPTION'] = 'SUBSCRIPTION';\n DirectiveLocation['FIELD'] = 'FIELD';\n DirectiveLocation['FRAGMENT_DEFINITION'] = 'FRAGMENT_DEFINITION';\n DirectiveLocation['FRAGMENT_SPREAD'] = 'FRAGMENT_SPREAD';\n DirectiveLocation['INLINE_FRAGMENT'] = 'INLINE_FRAGMENT';\n DirectiveLocation['VARIABLE_DEFINITION'] = 'VARIABLE_DEFINITION';\n DirectiveLocation['SCHEMA'] = 'SCHEMA';\n DirectiveLocation['SCALAR'] = 'SCALAR';\n DirectiveLocation['OBJECT'] = 'OBJECT';\n DirectiveLocation['FIELD_DEFINITION'] = 'FIELD_DEFINITION';\n DirectiveLocation['ARGUMENT_DEFINITION'] = 'ARGUMENT_DEFINITION';\n DirectiveLocation['INTERFACE'] = 'INTERFACE';\n DirectiveLocation['UNION'] = 'UNION';\n DirectiveLocation['ENUM'] = 'ENUM';\n DirectiveLocation['ENUM_VALUE'] = 'ENUM_VALUE';\n DirectiveLocation['INPUT_OBJECT'] = 'INPUT_OBJECT';\n DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION';\n})(DirectiveLocation || (DirectiveLocation = {}));\n\nexport { DirectiveLocation };\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n Kind['NAME'] = 'Name';\n Kind['DOCUMENT'] = 'Document';\n Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n Kind['SELECTION_SET'] = 'SelectionSet';\n Kind['FIELD'] = 'Field';\n Kind['ARGUMENT'] = 'Argument';\n Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n Kind['VARIABLE'] = 'Variable';\n Kind['INT'] = 'IntValue';\n Kind['FLOAT'] = 'FloatValue';\n Kind['STRING'] = 'StringValue';\n Kind['BOOLEAN'] = 'BooleanValue';\n Kind['NULL'] = 'NullValue';\n Kind['ENUM'] = 'EnumValue';\n Kind['LIST'] = 'ListValue';\n Kind['OBJECT'] = 'ObjectValue';\n Kind['OBJECT_FIELD'] = 'ObjectField';\n Kind['DIRECTIVE'] = 'Directive';\n Kind['NAMED_TYPE'] = 'NamedType';\n Kind['LIST_TYPE'] = 'ListType';\n Kind['NON_NULL_TYPE'] = 'NonNullType';\n Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","/**\n * ```\n * WhiteSpace ::\n * - \"Horizontal Tab (U+0009)\"\n * - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\n * - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M`\n * - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z`\n * - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m`\n * - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z`\n * ```\n * @internal\n */\n\nexport function isLetter(code) {\n return (\n (code >= 0x0061 && code <= 0x007a) || // A-Z\n (code >= 0x0041 && code <= 0x005a) // a-z\n );\n}\n/**\n * ```\n * NameStart ::\n * - Letter\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n * - Letter\n * - Digit\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nexport function dedentBlockStringLines(lines) {\n var _firstNonEmptyLine2;\n\n let commonIndent = Number.MAX_SAFE_INTEGER;\n let firstNonEmptyLine = null;\n let lastNonEmptyLine = -1;\n\n for (let i = 0; i < lines.length; ++i) {\n var _firstNonEmptyLine;\n\n const line = lines[i];\n const indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n firstNonEmptyLine =\n (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine !== void 0\n ? _firstNonEmptyLine\n : i;\n lastNonEmptyLine = i;\n\n if (i !== 0 && indent < commonIndent) {\n commonIndent = indent;\n }\n }\n\n return lines // Remove common indentation from all lines but first.\n .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n .slice(\n (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine2 !== void 0\n ? _firstNonEmptyLine2\n : 0,\n lastNonEmptyLine + 1,\n );\n}\n\nfunction leadingWhitespace(str) {\n let i = 0;\n\n while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n ++i;\n }\n\n return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n if (value === '') {\n return true; // empty string is printable\n }\n\n let isEmptyLine = true;\n let hasIndent = false;\n let hasCommonIndent = true;\n let seenNonEmptyLine = false;\n\n for (let i = 0; i < value.length; ++i) {\n switch (value.codePointAt(i)) {\n case 0x0000:\n case 0x0001:\n case 0x0002:\n case 0x0003:\n case 0x0004:\n case 0x0005:\n case 0x0006:\n case 0x0007:\n case 0x0008:\n case 0x000b:\n case 0x000c:\n case 0x000e:\n case 0x000f:\n return false;\n // Has non-printable characters\n\n case 0x000d:\n // \\r\n return false;\n // Has \\r or \\r\\n which will be replaced as \\n\n\n case 10:\n // \\n\n if (isEmptyLine && !seenNonEmptyLine) {\n return false; // Has leading new line\n }\n\n seenNonEmptyLine = true;\n isEmptyLine = true;\n hasIndent = false;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n hasIndent || (hasIndent = isEmptyLine);\n break;\n\n default:\n hasCommonIndent && (hasCommonIndent = hasIndent);\n isEmptyLine = false;\n }\n }\n\n if (isEmptyLine) {\n return false; // Has trailing empty lines\n }\n\n if (hasCommonIndent && seenNonEmptyLine) {\n return false; // Has internal indent\n }\n\n return true;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value, options) {\n const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n const forceLeadingNewLine =\n lines.length > 1 &&\n lines\n .slice(1)\n .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n const hasTrailingSlash = value.endsWith('\\\\');\n const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n const printAsMultipleLines =\n !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n (!isSingleLine ||\n value.length > 70 ||\n forceTrailingNewline ||\n forceLeadingNewLine ||\n hasTrailingTripleQuotes);\n let result = ''; // Format a multi-line block quote to account for leading space.\n\n const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n result += '\\n';\n }\n\n result += escapedValue;\n\n if (printAsMultipleLines || forceTrailingNewline) {\n result += '\\n';\n }\n\n return '\"\"\"' + result + '\"\"\"';\n}\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nvar TokenKind;\n\n(function (TokenKind) {\n TokenKind['SOF'] = '<SOF>';\n TokenKind['EOF'] = '<EOF>';\n TokenKind['BANG'] = '!';\n TokenKind['DOLLAR'] = '$';\n TokenKind['AMP'] = '&';\n TokenKind['PAREN_L'] = '(';\n TokenKind['PAREN_R'] = ')';\n TokenKind['SPREAD'] = '...';\n TokenKind['COLON'] = ':';\n TokenKind['EQUALS'] = '=';\n TokenKind['AT'] = '@';\n TokenKind['BRACKET_L'] = '[';\n TokenKind['BRACKET_R'] = ']';\n TokenKind['BRACE_L'] = '{';\n TokenKind['PIPE'] = '|';\n TokenKind['BRACE_R'] = '}';\n TokenKind['NAME'] = 'Name';\n TokenKind['INT'] = 'Int';\n TokenKind['FLOAT'] = 'Float';\n TokenKind['STRING'] = 'String';\n TokenKind['BLOCK_STRING'] = 'BlockString';\n TokenKind['COMMENT'] = 'Comment';\n})(TokenKind || (TokenKind = {}));\n\nexport { TokenKind };\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Token } from './ast.mjs';\nimport { dedentBlockStringLines } from './blockString.mjs';\nimport { isDigit, isNameContinue, isNameStart } from './characterClasses.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport class Lexer {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n constructor(source) {\n const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n\n get [Symbol.toStringTag]() {\n return 'Lexer';\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n advance() {\n this.lastToken = this.token;\n const token = (this.token = this.lookahead());\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n\n lookahead() {\n let token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n if (token.next) {\n token = token.next;\n } else {\n // Read the next token and form a link in the token linked-list.\n const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.\n\n token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.\n\n nextToken.prev = token;\n token = nextToken;\n }\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n }\n}\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return (\n kind === TokenKind.BANG ||\n kind === TokenKind.DOLLAR ||\n kind === TokenKind.AMP ||\n kind === TokenKind.PAREN_L ||\n kind === TokenKind.PAREN_R ||\n kind === TokenKind.SPREAD ||\n kind === TokenKind.COLON ||\n kind === TokenKind.EQUALS ||\n kind === TokenKind.AT ||\n kind === TokenKind.BRACKET_L ||\n kind === TokenKind.BRACKET_R ||\n kind === TokenKind.BRACE_L ||\n kind === TokenKind.PIPE ||\n kind === TokenKind.BRACE_R\n );\n}\n/**\n * A Unicode scalar value is any Unicode code point except surrogate code\n * points. In other words, the inclusive ranges of values 0x0000 to 0xD7FF and\n * 0xE000 to 0x10FFFF.\n *\n * SourceCharacter ::\n * - \"Any Unicode scalar value\"\n */\n\nfunction isUnicodeScalarValue(code) {\n return (\n (code >= 0x0000 && code <= 0xd7ff) || (code >= 0xe000 && code <= 0x10ffff)\n );\n}\n/**\n * The GraphQL specification defines source text as a sequence of unicode scalar\n * values (which Unicode defines to exclude surrogate code points). However\n * JavaScript defines strings as a sequence of UTF-16 code units which may\n * include surrogates. A surrogate pair is a valid source character as it\n * encodes a supplementary code point (above U+FFFF), but unpaired surrogate\n * code points are not valid source characters.\n */\n\nfunction isSupplementaryCodePoint(body, location) {\n return (\n isLeadingSurrogate(body.charCodeAt(location)) &&\n isTrailingSurrogate(body.charCodeAt(location + 1))\n );\n}\n\nfunction isLeadingSurrogate(code) {\n return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction isTrailingSurrogate(code) {\n return code >= 0xdc00 && code <= 0xdfff;\n}\n/**\n * Prints the code point (or end of file reference) at a given location in a\n * source for use in error messages.\n *\n * Printable ASCII is printed quoted, while other points are printed in Unicode\n * code point form (ie. U+1234).\n */\n\nfunction printCodePointAt(lexer, location) {\n const code = lexer.source.body.codePointAt(location);\n\n if (code === undefined) {\n return TokenKind.EOF;\n } else if (code >= 0x0020 && code <= 0x007e) {\n // Printable ASCII\n const char = String.fromCodePoint(code);\n return char === '\"' ? \"'\\\"'\" : `\"${char}\"`;\n } // Unicode code point\n\n return 'U+' + code.toString(16).toUpperCase().padStart(4, '0');\n}\n/**\n * Create a token with line and column location information.\n */\n\nfunction createToken(lexer, kind, start, end, value) {\n const line = lexer.line;\n const col = 1 + start - lexer.lineStart;\n return new Token(kind, start, end, line, col, value);\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\nfunction readNextToken(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // SourceCharacter\n\n switch (code) {\n // Ignored ::\n // - UnicodeBOM\n // - WhiteSpace\n // - LineTerminator\n // - Comment\n // - Comma\n //\n // UnicodeBOM :: \"Byte Order Mark (U+FEFF)\"\n //\n // WhiteSpace ::\n // - \"Horizontal Tab (U+0009)\"\n // - \"Space (U+0020)\"\n //\n // Comma :: ,\n case 0xfeff: // <BOM>\n\n case 0x0009: // \\t\n\n case 0x0020: // <space>\n\n case 0x002c:\n // ,\n ++position;\n continue;\n // LineTerminator ::\n // - \"New Line (U+000A)\"\n // - \"Carriage Return (U+000D)\" [lookahead != \"New Line (U+000A)\"]\n // - \"Carriage Return (U+000D)\" \"New Line (U+000A)\"\n\n case 0x000a:\n // \\n\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n\n case 0x000d:\n // \\r\n if (body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n // Comment\n\n case 0x0023:\n // #\n return readComment(lexer, position);\n // Token ::\n // - Punctuator\n // - Name\n // - IntValue\n // - FloatValue\n // - StringValue\n //\n // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }\n\n case 0x0021:\n // !\n return createToken(lexer, TokenKind.BANG, position, position + 1);\n\n case 0x0024:\n // $\n return createToken(lexer, TokenKind.DOLLAR, position, position + 1);\n\n case 0x0026:\n // &\n return createToken(lexer, TokenKind.AMP, position, position + 1);\n\n case 0x0028:\n // (\n return createToken(lexer, TokenKind.PAREN_L, position, position + 1);\n\n case 0x0029:\n // )\n return createToken(lexer, TokenKind.PAREN_R, position, position + 1);\n\n case 0x002e:\n // .\n if (\n body.charCodeAt(position + 1) === 0x002e &&\n body.charCodeAt(position + 2) === 0x002e\n ) {\n return createToken(lexer, TokenKind.SPREAD, position, position + 3);\n }\n\n break;\n\n case 0x003a:\n // :\n return createToken(lexer, TokenKind.COLON, position, position + 1);\n\n case 0x003d:\n // =\n return createToken(lexer, TokenKind.EQUALS, position, position + 1);\n\n case 0x0040:\n // @\n return createToken(lexer, TokenKind.AT, position, position + 1);\n\n case 0x005b:\n // [\n return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);\n\n case 0x005d:\n // ]\n return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);\n\n case 0x007b:\n // {\n return createToken(lexer, TokenKind.BRACE_L, position, position + 1);\n\n case 0x007c:\n // |\n return createToken(lexer, TokenKind.PIPE, position, position + 1);\n\n case 0x007d:\n // }\n return createToken(lexer, TokenKind.BRACE_R, position, position + 1);\n // StringValue\n\n case 0x0022:\n // \"\n if (\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n return readBlockString(lexer, position);\n }\n\n return readString(lexer, position);\n } // IntValue | FloatValue (Digit | -)\n\n if (isDigit(code) || code === 0x002d) {\n return readNumber(lexer, position, code);\n } // Name\n\n if (isNameStart(code)) {\n return readName(lexer, position);\n }\n\n throw syntaxError(\n lexer.source,\n position,\n code === 0x0027\n ? 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?'\n : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position)\n ? `Unexpected character: ${printCodePointAt(lexer, position)}.`\n : `Invalid character: ${printCodePointAt(lexer, position)}.`,\n );\n }\n\n return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);\n}\n/**\n * Reads a comment token from the source file.\n *\n * ```\n * Comment :: # CommentChar* [lookahead != CommentChar]\n *\n * CommentChar :: SourceCharacter but not LineTerminator\n * ```\n */\n\nfunction readComment(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.COMMENT,\n start,\n position,\n body.slice(start + 1, position),\n );\n}\n/**\n * Reads a number token from the source file, either a FloatValue or an IntValue\n * depending on whether a FractionalPart or ExponentPart is encountered.\n *\n * ```\n * IntValue :: IntegerPart [lookahead != {Digit, `.`, NameStart}]\n *\n * IntegerPart ::\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit Digit*\n *\n * NegativeSign :: -\n *\n * NonZeroDigit :: Digit but not `0`\n *\n * FloatValue ::\n * - IntegerPart FractionalPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart FractionalPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *\n * FractionalPart :: . Digit+\n *\n * ExponentPart :: ExponentIndicator Sign? Digit+\n *\n * ExponentIndicator :: one of `e` `E`\n *\n * Sign :: one of + -\n * ```\n */\n\nfunction readNumber(lexer, start, firstCode) {\n const body = lexer.source.body;\n let position = start;\n let code = firstCode;\n let isFloat = false; // NegativeSign (-)\n\n if (code === 0x002d) {\n code = body.charCodeAt(++position);\n } // Zero (0)\n\n if (code === 0x0030) {\n code = body.charCodeAt(++position);\n\n if (isDigit(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, unexpected digit after 0: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n } else {\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Full stop (.)\n\n if (code === 0x002e) {\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // E e\n\n if (code === 0x0045 || code === 0x0065) {\n isFloat = true;\n code = body.charCodeAt(++position); // + -\n\n if (code === 0x002b || code === 0x002d) {\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n if (code === 0x002e || isNameStart(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n\n return createToken(\n lexer,\n isFloat ? TokenKind.FLOAT : TokenKind.INT,\n start,\n position,\n body.slice(start, position),\n );\n}\n/**\n * Returns the new position in the source after reading one or more digits.\n */\n\nfunction readDigits(lexer, start, firstCode) {\n if (!isDigit(firstCode)) {\n throw syntaxError(\n lexer.source,\n start,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n start,\n )}.`,\n );\n }\n\n const body = lexer.source.body;\n let position = start + 1; // +1 to skip first firstCode\n\n while (isDigit(body.charCodeAt(position))) {\n ++position;\n }\n\n return position;\n}\n/**\n * Reads a single-quote string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"` [lookahead != `\"`]\n * - `\"` StringCharacter+ `\"`\n *\n * StringCharacter ::\n * - SourceCharacter but not `\"` or `\\` or LineTerminator\n * - `\\u` EscapedUnicode\n * - `\\` EscapedCharacter\n *\n * EscapedUnicode ::\n * - `{` HexDigit+ `}`\n * - HexDigit HexDigit HexDigit HexDigit\n *\n * EscapedCharacter :: one of `\"` `\\` `/` `b` `f` `n` `r` `t`\n * ```\n */\n\nfunction readString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n let chunkStart = position;\n let value = '';\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Quote (\")\n\n if (code === 0x0022) {\n value += body.slice(chunkStart, position);\n return createToken(lexer, TokenKind.STRING, start, position + 1, value);\n } // Escape Sequence (\\)\n\n if (code === 0x005c) {\n value += body.slice(chunkStart, position);\n const escape =\n body.charCodeAt(position + 1) === 0x0075 // u\n ? body.charCodeAt(position + 2) === 0x007b // {\n ? readEscapedUnicodeVariableWidth(lexer, position)\n : readEscapedUnicodeFixedWidth(lexer, position)\n : readEscapedCharacter(lexer, position);\n value += escape.value;\n position += escape.size;\n chunkStart = position;\n continue;\n } // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n} // The string value and lexed size of an escape sequence.\n\nfunction readEscapedUnicodeVariableWidth(lexer, position) {\n const body = lexer.source.body;\n let point = 0;\n let size = 3; // Cannot be larger than 12 chars (\\u{00000000}).\n\n while (size < 12) {\n const code = body.charCodeAt(position + size++); // Closing Brace (})\n\n if (code === 0x007d) {\n // Must be at least 5 chars (\\u{0}) and encode a Unicode scalar value.\n if (size < 5 || !isUnicodeScalarValue(point)) {\n break;\n }\n\n return {\n value: String.fromCodePoint(point),\n size,\n };\n } // Append this hex digit to the code point.\n\n point = (point << 4) | readHexDigit(code);\n\n if (point < 0) {\n break;\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(\n position,\n position + size,\n )}\".`,\n );\n}\n\nfunction readEscapedUnicodeFixedWidth(lexer, position) {\n const body = lexer.source.body;\n const code = read16BitHexCode(body, position + 2);\n\n if (isUnicodeScalarValue(code)) {\n return {\n value: String.fromCodePoint(code),\n size: 6,\n };\n } // GraphQL allows JSON-style surrogate pair escape sequences, but only when\n // a valid pair is formed.\n\n if (isLeadingSurrogate(code)) {\n // \\u\n if (\n body.charCodeAt(position + 6) === 0x005c &&\n body.charCodeAt(position + 7) === 0x0075\n ) {\n const trailingCode = read16BitHexCode(body, position + 8);\n\n if (isTrailingSurrogate(trailingCode)) {\n // JavaScript defines strings as a sequence of UTF-16 code units and\n // encodes Unicode code points above U+FFFF using a surrogate pair of\n // code units. Since this is a surrogate pair escape sequence, just\n // include both codes into the JavaScript string value. Had JavaScript\n // not been internally based on UTF-16, then this surrogate pair would\n // be decoded to retrieve the supplementary code point.\n return {\n value: String.fromCodePoint(code, trailingCode),\n size: 12,\n };\n }\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(position, position + 6)}\".`,\n );\n}\n/**\n * Reads four hexadecimal characters and returns the positive integer that 16bit\n * hexadecimal string represents. For example, \"000f\" will return 15, and \"dead\"\n * will return 57005.\n *\n * Returns a negative number if any char was not a valid hexadecimal digit.\n */\n\nfunction read16BitHexCode(body, position) {\n // readHexDigit() returns -1 on error. ORing a negative value with any other\n // value always produces a negative value.\n return (\n (readHexDigit(body.charCodeAt(position)) << 12) |\n (readHexDigit(body.charCodeAt(position + 1)) << 8) |\n (readHexDigit(body.charCodeAt(position + 2)) << 4) |\n readHexDigit(body.charCodeAt(position + 3))\n );\n}\n/**\n * Reads a hexadecimal character and returns its positive integer value (0-15).\n *\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 if the provided character code was not a valid hexadecimal digit.\n *\n * HexDigit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * - `A` `B` `C` `D` `E` `F`\n * - `a` `b` `c` `d` `e` `f`\n */\n\nfunction readHexDigit(code) {\n return code >= 0x0030 && code <= 0x0039 // 0-9\n ? code - 0x0030\n : code >= 0x0041 && code <= 0x0046 // A-F\n ? code - 0x0037\n : code >= 0x0061 && code <= 0x0066 // a-f\n ? code - 0x0057\n : -1;\n}\n/**\n * | Escaped Character | Code Point | Character Name |\n * | ----------------- | ---------- | ---------------------------- |\n * | `\"` | U+0022 | double quote |\n * | `\\` | U+005C | reverse solidus (back slash) |\n * | `/` | U+002F | solidus (forward slash) |\n * | `b` | U+0008 | backspace |\n * | `f` | U+000C | form feed |\n * | `n` | U+000A | line feed (new line) |\n * | `r` | U+000D | carriage return |\n * | `t` | U+0009 | horizontal tab |\n */\n\nfunction readEscapedCharacter(lexer, position) {\n const body = lexer.source.body;\n const code = body.charCodeAt(position + 1);\n\n switch (code) {\n case 0x0022:\n // \"\n return {\n value: '\\u0022',\n size: 2,\n };\n\n case 0x005c:\n // \\\n return {\n value: '\\u005c',\n size: 2,\n };\n\n case 0x002f:\n // /\n return {\n value: '\\u002f',\n size: 2,\n };\n\n case 0x0062:\n // b\n return {\n value: '\\u0008',\n size: 2,\n };\n\n case 0x0066:\n // f\n return {\n value: '\\u000c',\n size: 2,\n };\n\n case 0x006e:\n // n\n return {\n value: '\\u000a',\n size: 2,\n };\n\n case 0x0072:\n // r\n return {\n value: '\\u000d',\n size: 2,\n };\n\n case 0x0074:\n // t\n return {\n value: '\\u0009',\n size: 2,\n };\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character escape sequence: \"${body.slice(\n position,\n position + 2,\n )}\".`,\n );\n}\n/**\n * Reads a block string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"\"` BlockStringCharacter* `\"\"\"`\n *\n * BlockStringCharacter ::\n * - SourceCharacter but not `\"\"\"` or `\\\"\"\"`\n * - `\\\"\"\"`\n * ```\n */\n\nfunction readBlockString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let lineStart = lexer.lineStart;\n let position = start + 3;\n let chunkStart = position;\n let currentLine = '';\n const blockLines = [];\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Triple-Quote (\"\"\")\n\n if (\n code === 0x0022 &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n const token = createToken(\n lexer,\n TokenKind.BLOCK_STRING,\n start,\n position + 3, // Return a string of the lines joined with U+000A.\n dedentBlockStringLines(blockLines).join('\\n'),\n );\n lexer.line += blockLines.length - 1;\n lexer.lineStart = lineStart;\n return token;\n } // Escaped Triple-Quote (\\\"\"\")\n\n if (\n code === 0x005c &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022 &&\n body.charCodeAt(position + 3) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n chunkStart = position + 1; // skip only slash\n\n position += 4;\n continue;\n } // LineTerminator\n\n if (code === 0x000a || code === 0x000d) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n\n if (code === 0x000d && body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n currentLine = '';\n chunkStart = position;\n lineStart = position;\n continue;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * ```\n * Name ::\n * - NameStart NameContinue* [lookahead != NameContinue]\n * ```\n */\n\nfunction readName(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position);\n\n if (isNameContinue(code)) {\n ++position;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.NAME,\n start,\n position,\n body.slice(start, position),\n );\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (typeof value) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? `[function ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\n );\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { inspect } from './inspect.mjs';\n/* c8 ignore next 3 */\n\nconst isProduction =\n globalThis.process && // eslint-disable-next-line no-undef\n process.env.NODE_ENV === 'production';\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n * See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n * See: https://webpack.js.org/guides/production/\n */\n\nexport const instanceOf =\n /* c8 ignore next 6 */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n isProduction\n ? function instanceOf(value, constructor) {\n return value instanceof constructor;\n }\n : function instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (typeof value === 'object' && value !== null) {\n var _value$constructor;\n\n // Prefer Symbol.toStringTag since it is immune to minification.\n const className = constructor.prototype[Symbol.toStringTag];\n const valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value // @ts-expect-error TS bug see, https://github.com/microsoft/TypeScript/issues/38009\n ? value[Symbol.toStringTag]\n : (_value$constructor = value.constructor) === null ||\n _value$constructor === void 0\n ? void 0\n : _value$constructor.name;\n\n if (className === valueClassName) {\n const stringifiedValue = inspect(value);\n throw new Error(`Cannot use ${className} \"${stringifiedValue}\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`);\n }\n }\n\n return false;\n };\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { instanceOf } from '../jsutils/instanceOf.mjs';\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Location, OperationTypeNode } from './ast.mjs';\nimport { DirectiveLocation } from './directiveLocation.mjs';\nimport { Kind } from './kinds.mjs';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.mjs';\nimport { isSource, Source } from './source.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n const parser = new Parser(source, options);\n const document = parser.parseDocument();\n Object.defineProperty(document, 'tokenCount', {\n enumerable: false,\n value: parser.tokenCount,\n });\n return document;\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n */\n\nexport function parseConstValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseConstValueLiteral();\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport class Parser {\n constructor(source, options = {}) {\n const sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n this._tokenCounter = 0;\n }\n\n get tokenCount() {\n return this._tokenCounter;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n parseName() {\n const token = this.expectToken(TokenKind.NAME);\n return this.node(token, {\n kind: Kind.NAME,\n value: token.value,\n });\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n\n parseDocument() {\n return this.node(this._lexer.token, {\n kind: Kind.DOCUMENT,\n definitions: this.many(\n TokenKind.SOF,\n this.parseDefinition,\n TokenKind.EOF,\n ),\n });\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n *\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n\n parseDefinition() {\n if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } // Many definitions begin with a description and require a lookahead.\n\n const hasDescription = this.peekDescription();\n const keywordToken = hasDescription\n ? this._lexer.lookahead()\n : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n\n if (hasDescription) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, descriptions are supported only on type definitions.',\n );\n }\n\n switch (keywordToken.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n\n parseOperationDefinition() {\n const start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n const operation = this.parseOperationType();\n let name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * OperationType : one of query mutation subscription\n */\n\n parseOperationType() {\n const operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return OperationTypeNode.QUERY;\n\n case 'mutation':\n return OperationTypeNode.MUTATION;\n\n case 'subscription':\n return OperationTypeNode.SUBSCRIPTION;\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n\n parseVariableDefinitions() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseVariableDefinition,\n TokenKind.PAREN_R,\n );\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n\n parseVariableDefinition() {\n return this.node(this._lexer.token, {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n ? this.parseConstValueLiteral()\n : undefined,\n directives: this.parseConstDirectives(),\n });\n }\n /**\n * Variable : $ Name\n */\n\n parseVariable() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return this.node(start, {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n });\n }\n /**\n * ```\n * SelectionSet : { Selection+ }\n * ```\n */\n\n parseSelectionSet() {\n return this.node(this._lexer.token, {\n kind: Kind.SELECTION_SET,\n selections: this.many(\n TokenKind.BRACE_L,\n this.parseSelection,\n TokenKind.BRACE_R,\n ),\n });\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n\n parseSelection() {\n return this.peek(TokenKind.SPREAD)\n ? this.parseFragment()\n : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n\n parseField() {\n const start = this._lexer.token;\n const nameOrAlias = this.parseName();\n let alias;\n let name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return this.node(start, {\n kind: Kind.FIELD,\n alias,\n name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L)\n ? this.parseSelectionSet()\n : undefined,\n });\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n\n parseArguments(isConst) {\n const item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n\n parseArgument(isConst = false) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.ARGUMENT,\n name,\n value: this.parseValueLiteral(isConst),\n });\n }\n\n parseConstArgument() {\n return this.parseArgument(true);\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n\n parseFragment() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n const hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return this.node(start, {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n });\n }\n\n return this.node(start, {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n\n parseFragmentDefinition() {\n const start = this._lexer.token;\n this.expectKeyword('fragment'); // Legacy support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (this._options.allowLegacyFragmentVariables === true) {\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentName : Name but not `on`\n */\n\n parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseValueLiteral(isConst) {\n const token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.INT,\n value: token.value,\n });\n\n case TokenKind.FLOAT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.FLOAT,\n value: token.value,\n });\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this.advanceLexer();\n\n switch (token.value) {\n case 'true':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: true,\n });\n\n case 'false':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: false,\n });\n\n case 'null':\n return this.node(token, {\n kind: Kind.NULL,\n });\n\n default:\n return this.node(token, {\n kind: Kind.ENUM,\n value: token.value,\n });\n }\n\n case TokenKind.DOLLAR:\n if (isConst) {\n this.expectToken(TokenKind.DOLLAR);\n\n if (this._lexer.token.kind === TokenKind.NAME) {\n const varName = this._lexer.token.value;\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected variable \"$${varName}\" in constant value.`,\n );\n } else {\n throw this.unexpected(token);\n }\n }\n\n return this.parseVariable();\n\n default:\n throw this.unexpected();\n }\n }\n\n parseConstValueLiteral() {\n return this.parseValueLiteral(true);\n }\n\n parseStringLiteral() {\n const token = this._lexer.token;\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n });\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n\n parseList(isConst) {\n const item = () => this.parseValueLiteral(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n });\n }\n /**\n * ```\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n * ```\n */\n\n parseObject(isConst) {\n const item = () => this.parseObjectField(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n });\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n\n parseObjectField(isConst) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.OBJECT_FIELD,\n name,\n value: this.parseValueLiteral(isConst),\n });\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n\n parseDirectives(isConst) {\n const directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n\n parseConstDirectives() {\n return this.parseDirectives(true);\n }\n /**\n * ```\n * Directive[Const] : @ Name Arguments[?Const]?\n * ```\n */\n\n parseDirective(isConst) {\n const start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return this.node(start, {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n });\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n\n parseTypeReference() {\n const start = this._lexer.token;\n let type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n const innerType = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = this.node(start, {\n kind: Kind.LIST_TYPE,\n type: innerType,\n });\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return this.node(start, {\n kind: Kind.NON_NULL_TYPE,\n type,\n });\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n\n parseNamedType() {\n return this.node(this._lexer.token, {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n });\n } // Implements the parsing rules in the Type Definition section.\n\n peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n\n parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * ```\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n * ```\n */\n\n parseSchemaDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.many(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n return this.node(start, {\n kind: Kind.SCHEMA_DEFINITION,\n description,\n directives,\n operationTypes,\n });\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n\n parseOperationTypeDefinition() {\n const start = this._lexer.token;\n const operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n const type = this.parseNamedType();\n return this.node(start, {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation,\n type,\n });\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n\n parseScalarTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n\n parseObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n\n parseImplementsInterfaces() {\n return this.expectOptionalKeyword('implements')\n ? this.delimitedMany(TokenKind.AMP, this.parseNamedType)\n : [];\n }\n /**\n * ```\n * FieldsDefinition : { FieldDefinition+ }\n * ```\n */\n\n parseFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseFieldDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n\n parseFieldDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.FIELD_DEFINITION,\n description,\n name,\n arguments: args,\n type,\n directives,\n });\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n\n parseArgumentDefs() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseInputValueDef,\n TokenKind.PAREN_R,\n );\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n\n parseInputValueDef() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n let defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseConstValueLiteral();\n }\n\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description,\n name,\n type,\n defaultValue,\n directives,\n });\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n\n parseInterfaceTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n\n parseUnionTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n return this.node(start, {\n kind: Kind.UNION_TYPE_DEFINITION,\n description,\n name,\n directives,\n types,\n });\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n\n parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS)\n ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType)\n : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n\n parseEnumTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n return this.node(start, {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description,\n name,\n directives,\n values,\n });\n }\n /**\n * ```\n * EnumValuesDefinition : { EnumValueDefinition+ }\n * ```\n */\n\n parseEnumValuesDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseEnumValueDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n */\n\n parseEnumValueDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseEnumValueName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseEnumValueName() {\n if (\n this._lexer.token.value === 'true' ||\n this._lexer.token.value === 'false' ||\n this._lexer.token.value === 'null'\n ) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n `${getTokenDesc(\n this._lexer.token,\n )} is reserved and cannot be used for an enum value.`,\n );\n }\n\n return this.parseName();\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n\n parseInputObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * InputFieldsDefinition : { InputValueDefinition+ }\n * ```\n */\n\n parseInputFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseInputValueDef,\n TokenKind.BRACE_R,\n );\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n\n parseTypeSystemExtension() {\n const keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * ```\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n * ```\n */\n\n parseSchemaExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.optionalMany(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCHEMA_EXTENSION,\n directives,\n operationTypes,\n });\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n\n parseScalarTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n\n parseObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n\n parseInterfaceTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n\n parseUnionTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.UNION_TYPE_EXTENSION,\n name,\n directives,\n types,\n });\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n\n parseEnumTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name,\n directives,\n values,\n });\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n\n parseInputObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n * ```\n */\n\n parseDirectiveDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n const repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n const locations = this.parseDirectiveLocations();\n return this.node(start, {\n kind: Kind.DIRECTIVE_DEFINITION,\n description,\n name,\n arguments: args,\n repeatable,\n locations,\n });\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n\n parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n\n parseDirectiveLocation() {\n const start = this._lexer.token;\n const name = this.parseName();\n\n if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a node that, if configured to do so, sets a \"loc\" field as a\n * location object, used to identify the place in the source that created a\n * given parsed object.\n */\n\n node(startToken, node) {\n if (this._options.noLocation !== true) {\n node.loc = new Location(\n startToken,\n this._lexer.lastToken,\n this._lexer.source,\n );\n }\n\n return node;\n }\n /**\n * Determines if the next token is of a given kind\n */\n\n peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return token;\n }\n\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`,\n );\n }\n /**\n * If the next token is of the given kind, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n } else {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected \"${value}\", found ${getTokenDesc(token)}.`,\n );\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n\n unexpected(atToken) {\n const token =\n atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected ${getTokenDesc(token)}.`,\n );\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n\n delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n }\n\n advanceLexer() {\n const { maxTokens } = this._options;\n\n const token = this._lexer.advance();\n\n if (token.kind !== TokenKind.EOF) {\n ++this._tokenCounter;\n\n if (maxTokens !== undefined && this._tokenCounter > maxTokens) {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Document contains more that ${maxTokens} tokens. Parsing aborted.`,\n );\n }\n }\n }\n}\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n const value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? ` \"${value}\"` : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? `\"${kind}\"` : kind;\n}\n","import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { parse } from \"graphql\";\n\n/**\n * Hand-written typed documents for the 721 \"shop\" bendystraw queries, kept out\n * of the codegen'd `graphql.ts` so they can be added without refreshing the\n * whole generated schema. The field selections match the deployed\n * `bendystraw.xyz` schema (`nft.hook` is a relation, hence `hook { address }`).\n */\n\n/** A store-item purchase (a `mintNftEvent`). */\nexport interface ShopPurchase {\n chainId: number;\n projectId: number;\n timestamp: number;\n txHash: string;\n beneficiary: string;\n tierId: number;\n tokenId: string;\n totalAmountPaid: string;\n hook: string;\n}\n\n/** A currently-held store item (an indexed `nft`). */\nexport interface OwnedShopItem {\n chainId: number;\n projectId: number;\n createdAt: number;\n mintTx: string;\n hook: string;\n tokenId: string;\n owner: string;\n tierId: number;\n}\n\n/** Filter on a bendystraw list query. Only the fields the shop hooks set. */\ninterface ShopEventFilter {\n projectId?: number;\n chainId?: number;\n version?: number;\n beneficiary?: string;\n owner?: string;\n}\n\nexport interface ShopPurchasesResult {\n mintNftEvents: {\n totalCount: number;\n items: ShopPurchase[];\n };\n}\n\nexport interface OwnedShopItemsResult {\n nfts: {\n totalCount: number;\n items: (Omit<OwnedShopItem, \"hook\"> & {\n hook: { address: string } | null;\n })[];\n };\n}\n\nexport interface ShopQueryVariables {\n where?: ShopEventFilter;\n limit?: number;\n offset?: number;\n}\n\nexport const ShopPurchasesDocument = parse(/* GraphQL */ `\n query ShopPurchases($where: mintNftEventFilter, $limit: Int, $offset: Int) {\n mintNftEvents(\n where: $where\n orderBy: \"timestamp\"\n orderDirection: \"desc\"\n limit: $limit\n offset: $offset\n ) {\n totalCount\n items {\n chainId\n projectId\n timestamp\n txHash\n beneficiary\n tierId\n tokenId\n totalAmountPaid\n hook\n }\n }\n }\n`) as TypedDocumentNode<ShopPurchasesResult, ShopQueryVariables>;\n\nexport const OwnedShopItemsDocument = parse(/* GraphQL */ `\n query OwnedShopItems($where: nftFilter, $limit: Int, $offset: Int) {\n nfts(\n where: $where\n orderBy: \"createdAt\"\n orderDirection: \"desc\"\n limit: $limit\n offset: $offset\n ) {\n totalCount\n items {\n chainId\n projectId\n createdAt\n mintTx\n hook {\n address\n }\n tokenId\n owner\n tierId\n }\n }\n }\n`) as TypedDocumentNode<OwnedShopItemsResult, ShopQueryVariables>;\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport {\n OwnedShopItemsDocument,\n type OwnedShopItem,\n} from \"../../lib/bendystraw/queries/shop\";\nimport { useBendystrawQuery } from \"../../lib/bendystraw/useBendystrawQuery\";\n\n/**\n * The 721 store items `owner` currently holds for the project in context,\n * newest first — the basis for a redeem/cash-out list. Reads bendystraw `nfts`\n * for the context chain.\n *\n * The index can lag chain state, so verify ownership on-chain (`ownerOf`) before\n * offering or sending a redemption.\n *\n * @param args.owner The holder whose items to list. The query is disabled until set.\n * @param args.limit Page size. Defaults to 100.\n * @param args.offset Page offset for pagination. Defaults to 0.\n * @param args.enabled Whether to run the query. Defaults to true.\n */\nexport function useOwnedShopItems(args: {\n owner: string | undefined;\n limit?: number;\n offset?: number;\n enabled?: boolean;\n}) {\n const { owner, limit = 100, offset = 0, enabled = true } = args;\n const { projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n const { data, ...rest } = useBendystrawQuery(\n OwnedShopItemsDocument,\n {\n where: {\n projectId: Number(projectId),\n chainId: Number(chainId),\n version: Number(version),\n owner: (owner ?? \"\").toLowerCase(),\n },\n limit,\n offset,\n },\n { enabled: !!chainId && !!projectId && !!owner && enabled },\n );\n\n const items: OwnedShopItem[] | undefined = useMemo(\n () =>\n data?.nfts.items.map((item) => ({\n chainId: Number(item.chainId),\n projectId: Number(item.projectId),\n createdAt: Number(item.createdAt),\n mintTx: item.mintTx,\n hook: item.hook?.address ?? \"\",\n tokenId: String(item.tokenId),\n owner: String(item.owner).toLowerCase(),\n tierId: Number(item.tierId),\n })),\n [data],\n );\n\n return {\n data: items,\n totalCount: data?.nfts.totalCount,\n ...rest,\n };\n}\n","import {\n ETH_CURRENCY_ID,\n JBChainId,\n jbMultiTerminalAbi,\n jbMultiTerminalV5Abi,\n NATIVE_TOKEN,\n NATIVE_TOKEN_DECIMALS,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Return the current surplus of JB Native token, from the project's primary native terminal.\n */\nexport function useNativeTokenSurplus({\n chainId,\n}: { chainId?: JBChainId } = {}) {\n const {\n projectId,\n version,\n contracts: { primaryNativeTerminal },\n } = useJBContractContext();\n\n const _chainId = chainId ?? useJBChainId();\n\n // v6 takes token addresses; v4/v5 take accounting context structs.\n const v6Query = useReadContract({\n chainId: _chainId,\n abi: jbMultiTerminalAbi,\n functionName: \"currentSurplusOf\",\n address: primaryNativeTerminal.data ?? undefined,\n args: [\n projectId,\n [NATIVE_TOKEN],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ],\n query: { enabled: version === 6 },\n });\n\n const legacyQuery = useReadContract({\n chainId: _chainId,\n abi: jbMultiTerminalV5Abi,\n functionName: \"currentSurplusOf\",\n address: primaryNativeTerminal.data ?? undefined,\n args: [\n projectId,\n [\n {\n token: NATIVE_TOKEN,\n decimals: NATIVE_TOKEN_DECIMALS,\n currency: ETH_CURRENCY_ID,\n },\n ],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ],\n query: { enabled: version !== 6 },\n });\n\n return version === 6 ? v6Query : legacyQuery;\n}\n","import {\n ETH_CURRENCY_ID,\n getPrimaryNativeTerminal,\n JBChainId,\n jbMultiTerminalAbi,\n jbMultiTerminalV5Abi,\n NATIVE_TOKEN,\n NATIVE_TOKEN_DECIMALS,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the current surplus of JB Native token across each sucker on all chains for the current project.\n */\nexport function useSuckersNativeTokenSurplus() {\n const config = useConfig();\n\n const chainId = useJBChainId();\n const { projectId, version } = useJBContractContext();\n\n const { data: pairs = [], isLoading, isError } = useSuckers();\n\n const surplusQuery = useQuery({\n queryKey: [\n \"suckersNativeTokenSurplus\",\n projectId.toString(),\n chainId?.toString(),\n version,\n pairs?.map((pair) => pair.peerChainId).join(\",\"),\n ],\n queryFn: async () => {\n if (!chainId) return null;\n\n if (!pairs || pairs.length === 0) {\n return [];\n }\n\n /**\n * For each peer, get its terminal, then get the current surplus.\n */\n const surpluses = await Promise.all(\n pairs.map(async (pair) => {\n const { peerChainId, projectId } = pair;\n const terminal = await getPrimaryNativeTerminal(\n config,\n peerChainId,\n projectId,\n version,\n );\n\n // v6 takes token addresses; v4/v5 take accounting context structs.\n const surplus =\n version === 6\n ? await getContract({\n address: terminal,\n abi: jbMultiTerminalAbi,\n client: config.getClient({ chainId: peerChainId }),\n }).read.currentSurplusOf([\n projectId,\n [NATIVE_TOKEN],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ])\n : await getContract({\n address: terminal,\n abi: jbMultiTerminalV5Abi,\n client: config.getClient({ chainId: peerChainId }),\n }).read.currentSurplusOf([\n projectId,\n [\n {\n token: NATIVE_TOKEN,\n decimals: NATIVE_TOKEN_DECIMALS,\n currency: ETH_CURRENCY_ID,\n },\n ],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ]);\n\n return { surplus, chainId: peerChainId, projectId };\n }),\n );\n\n return surpluses;\n },\n });\n\n return {\n isLoading: surplusQuery.isLoading || isLoading,\n isError: surplusQuery.isError || isError,\n data: surplusQuery.data as\n | { surplus: bigint; chainId: JBChainId; projectId: bigint }[]\n | undefined,\n };\n}\n","import {\n applyJbDaoCashOutFee,\n ETH_CURRENCY_ID,\n getProjectTerminalStore,\n JBChainId,\n jbTerminalStoreAbi,\n jbTerminalStoreV5Abi,\n JBVersion,\n NATIVE_TOKEN_DECIMALS,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport { useQuery, UseQueryReturnType } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the amount of ETH (wei) received from cashing out [tokenAmountWei] project tokens, across all suckers.\n * @param tokenAmountWei the amount of tokens to cash out.\n */\nexport function useSuckersCashOutQuote(tokenAmountWei: bigint) {\n const config = useConfig();\n const chainId = useJBChainId();\n const { projectId, version } = useJBContractContext();\n\n const { data: pairs = [], isLoading, error } = useSuckers();\n\n const suckersQuote: UseQueryReturnType<bigint | null> = useQuery({\n queryKey: [\n \"suckersTokenRedemptionQuote\",\n projectId.toString(),\n chainId?.toString(),\n version,\n tokenAmountWei.toString(),\n pairs.map((pair) => pair.peerChainId).join(\",\"),\n ],\n enabled: Boolean(!isLoading && chainId),\n queryFn: async () => {\n if (!chainId) return null;\n\n const quotes = await Promise.all(\n pairs.map(async ({ peerChainId, projectId }) => {\n return getTokenRedemptionQuote(\n config,\n peerChainId as JBChainId,\n projectId,\n tokenAmountWei,\n version\n );\n }) ?? []\n );\n\n return quotes.reduce((acc, quote) => acc + quote, 0n);\n },\n });\n\n const netTotal = applyJbDaoCashOutFee(suckersQuote.data ?? 0n);\n\n return {\n data: netTotal,\n isLoading: suckersQuote.isLoading || isLoading,\n errors: [error, suckersQuote.error].filter(Boolean),\n };\n}\n\nasync function getTokenRedemptionQuote(\n config: ReturnType<typeof useConfig>,\n chainId: JBChainId,\n projectId: bigint,\n tokenAmountWei: bigint,\n version: JBVersion\n) {\n // The two array args are empty either way, but the selector differs: v6 takes\n // (address[], address[]) where v4/v5 take (address[], tuple[]).\n const contract = getContract({\n address: getProjectTerminalStore(chainId, version),\n abi: version === 6 ? jbTerminalStoreAbi : jbTerminalStoreV5Abi,\n client: config.getClient({ chainId }),\n });\n\n return await contract.read.currentReclaimableSurplusOf([\n projectId,\n tokenAmountWei,\n [],\n [],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ]);\n}\n","import {\n ETH_CURRENCY_ID,\n JBChainId,\n NATIVE_TOKEN_DECIMALS,\n applyJbDaoCashOutFee,\n jbTerminalStoreAbi,\n jbTerminalStoreV5Abi,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useJBTerminalContext } from \"../../contexts/JBTerminalContext/JBTerminalContext\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Return the amount of ETH (wei) received from redeerming [tokenAmountWei] project tokens.\n */\nexport function useTokenCashOutQuoteEth(\n tokenAmountWei: bigint | undefined,\n { chainId }: { chainId?: JBChainId }\n) {\n const { projectId, version } = useJBContractContext();\n const { store } = useJBTerminalContext();\n const jbChainId = useJBChainId();\n const _chainId = chainId ?? jbChainId;\n\n // The two array args are empty either way, but the selector differs: v6 takes\n // (address[], address[]) where v4/v5 take (address[], tuple[]).\n return useReadContract({\n abi: version === 6 ? jbTerminalStoreAbi : jbTerminalStoreV5Abi,\n functionName: \"currentReclaimableSurplusOf\",\n chainId: _chainId,\n address: store.data ?? undefined,\n args: tokenAmountWei\n ? [projectId, tokenAmountWei, [], [], BigInt(NATIVE_TOKEN_DECIMALS), BigInt(ETH_CURRENCY_ID)]\n : undefined,\n query: {\n select(data: bigint) {\n return applyJbDaoCashOutFee(data);\n },\n },\n });\n}\n","import { ONE_JB_TOKEN } from \"@bananapus/nana-sdk-core\";\nimport { formatEther } from \"viem\";\nimport { useEtherPrice } from \"../useEtherPrice\";\nimport { useSuckersCashOutQuote } from \"./useSuckersCashOutQuote\";\n\n/**\n * Return the current cashout value of one project token.\n */\nexport function useSuckersTokenCashOutValue({ targetCurrency }: { targetCurrency: \"eth\" | \"usd\" }) {\n const { data: ethPrice, isLoading: isEthLoading } = useEtherPrice();\n\n const { data: quote, isLoading: isQuoteLoading, errors } = useSuckersCashOutQuote(ONE_JB_TOKEN);\n\n const loading = isQuoteLoading || isEthLoading;\n\n if (loading) {\n return { loading: true, data: undefined };\n }\n\n const quoteEth = parseFloat(formatEther(quote ?? 0n));\n\n const data = targetCurrency === \"eth\" ? quoteEth : quoteEth * (ethPrice ?? 0);\n\n return {\n loading,\n data,\n errors,\n };\n}\n","import { useQuery, UseQueryReturnType } from \"wagmi/query\";\n\n/**\n * Chainlink feed doesn't tend to up date that quickly.\n * Refresh every 5 minutes.\n */\nconst PRICE_REFRESH_INTERVAL = 60 * 1000 * 5; // 5 minutes\n\n/**\n * Return the current price of ETH in USD.\n * @example 1234.69\n */\nexport function useEtherPrice(): UseQueryReturnType<number> {\n return useQuery({\n queryKey: [\"juice-sdk\", \"etherPrice\"],\n queryFn: async () => {\n return fetch(\"https://juicebox.money/api/juicebox/prices/ethusd\")\n .then((res) => res.json())\n .then((data) => data.price as number);\n },\n staleTime: PRICE_REFRESH_INTERVAL,\n });\n}\n","import { JBChainId, JBCoreContracts, JBProjectToken, jbTokensAbi } from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useAccount, useConfig, useReadContract } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the user's project token balance across each sucker on all chains for the current project.\n */\nexport function useSuckersUserTokenBalance() {\n const config = useConfig();\n\n const chainId = useJBChainId();\n const { projectId, contractAddress } = useJBContractContext();\n const { address: userAddress } = useAccount();\n\n const currentChainQuery = useReadContract({\n abi: jbTokensAbi,\n functionName: \"totalBalanceOf\",\n address: contractAddress(JBCoreContracts.JBTokens),\n chainId,\n args: userAddress ? [userAddress, projectId] : undefined,\n query: {\n select(data) {\n return new JBProjectToken(data);\n },\n },\n });\n const { data: pairs = [], isLoading, isError } = useSuckers();\n\n const balanceQuery = useQuery({\n queryKey: [\n \"suckersUserTokenBalance\",\n projectId.toString(),\n chainId?.toString(),\n currentChainQuery.data?.value.toString(),\n pairs?.map((pair) => pair.peerChainId).join(\",\"),\n ],\n queryFn: async () => {\n if (!chainId || !userAddress) return null;\n\n const currentChain = {\n balance: currentChainQuery.data ?? new JBProjectToken(0n),\n chainId,\n projectId,\n };\n\n if (!pairs || pairs.length === 0) {\n return [currentChain];\n }\n\n const balances = await Promise.all(\n pairs.map(async (pair) => {\n const { peerChainId, projectId } = pair;\n const contract = getContract({\n address: contractAddress(JBCoreContracts.JBTokens, peerChainId),\n abi: jbTokensAbi,\n client: config.getClient({ chainId: peerChainId }),\n });\n\n const balance = await contract.read.totalBalanceOf([userAddress, projectId]);\n\n return {\n balance: new JBProjectToken(balance),\n chainId: peerChainId,\n projectId,\n };\n })\n );\n\n if (!balances.some((balance) => balance.chainId === currentChain.chainId)) {\n // Add the current chain's balance to the list.\n balances.push(currentChain);\n }\n\n return balances;\n },\n });\n\n return {\n isLoading: balanceQuery.isLoading || isLoading,\n isError: balanceQuery.isError || isError,\n data: balanceQuery.data as\n | { balance: JBProjectToken; chainId: JBChainId; projectId: bigint }[]\n | undefined,\n };\n}\n","import {\n getPrimaryNativeTerminal,\n getProjectTerminalStore,\n jbTerminalStoreAbi,\n NATIVE_TOKEN,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the current surplus of JB Native token across each sucker on all chains for the current project.\n */\nexport function useSuckersNativeTokenBalance() {\n const config = useConfig();\n\n const chainId = useJBChainId();\n const { projectId, version } = useJBContractContext();\n\n const { data: pairs = [], isLoading, isError } = useSuckers();\n\n const balanceQuery = useQuery({\n queryKey: [\n \"suckersNativeTokenBalance\",\n projectId.toString(),\n chainId?.toString(),\n pairs.map((pair) => pair.peerChainId).join(\",\"),\n ],\n queryFn: async () => {\n if (!chainId) return null;\n if (!pairs || pairs.length === 0) return [];\n\n /**\n * For each peer, get its terminal, then get the current surplus.\n */\n const balances = await Promise.all(\n pairs.map(async (pair) => {\n const { peerChainId, projectId } = pair;\n const terminal = await getPrimaryNativeTerminal(config, peerChainId, projectId, version);\n\n const contract = getContract({\n address: getProjectTerminalStore(peerChainId, version),\n abi: jbTerminalStoreAbi,\n client: config.getClient({ chainId: peerChainId }),\n });\n\n const balance = await contract.read.balanceOf([terminal, projectId, NATIVE_TOKEN]);\n\n return { balance, chainId: peerChainId, projectId };\n })\n );\n\n return balances;\n },\n });\n\n return {\n isLoading: balanceQuery.isLoading || isLoading,\n isError: balanceQuery.isError || isError,\n data: balanceQuery.data as\n | { balance: bigint; chainId: number; projectId: bigint }[]\n | undefined,\n };\n}\n","import {\n CashOutTaxRate,\n JBChainId,\n jbControllerAbi,\n ReservedPercent,\n RulesetWeight,\n WeightCutPercent,\n} from \"@bananapus/nana-sdk-core\";\nimport { useReadContract } from \"wagmi\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useResolveDataHook } from \"./useResolveDataHook\";\n\nexport function useJBRuleset({\n projectId,\n chainId,\n}: {\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n}) {\n const { contracts, version } = useJBContractContext();\n\n const query = useReadContract({\n chainId,\n abi: jbControllerAbi,\n functionName: \"currentRulesetOf\",\n address: contracts?.controller?.data ?? undefined,\n args: projectId ? [projectId] : undefined,\n query: {\n enabled: !!projectId && !!contracts?.controller?.data,\n select([ruleset, rulesetMetadata]) {\n return {\n data: {\n ...ruleset,\n weight: new RulesetWeight(ruleset.weight),\n weightCutPercent: new WeightCutPercent(ruleset.weightCutPercent),\n },\n metadata: {\n ...rulesetMetadata,\n cashOutTaxRate: new CashOutTaxRate(rulesetMetadata.cashOutTaxRate),\n reservedPercent: new ReservedPercent(rulesetMetadata.reservedPercent),\n // v4/v5 store the INVERSE flag (`useTotalSurplusForCashOuts`) in this slot;\n // normalize to the v6 field's semantics.\n scopeCashOutsToLocalBalances:\n version === 6\n ? rulesetMetadata.scopeCashOutsToLocalBalances\n : !rulesetMetadata.scopeCashOutsToLocalBalances,\n },\n };\n },\n },\n });\n\n const { resolvedDataHook } = useResolveDataHook({\n dataHookAddress: query.data?.metadata?.dataHook,\n projectId,\n chainId,\n rulesetId: BigInt(query.data?.data?.id ?? 0),\n });\n\n return {\n ruleset: query.data?.data,\n rulesetMetadata: query.data?.metadata && {\n ...query.data.metadata,\n dataHook: resolvedDataHook,\n },\n ...query,\n };\n}\n","import {\n CashOutTaxRate,\n JBChainId,\n jbControllerAbi,\n JBRulesetData,\n JBRulesetMetadata,\n ReservedPercent,\n RulesetWeight,\n WeightCutPercent,\n} from \"@bananapus/nana-sdk-core\";\nimport { useReadContract } from \"wagmi\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useResolveDataHook } from \"./useResolveDataHook\";\n\nexport function useJBUpcomingRuleset({\n projectId,\n chainId,\n}: {\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n}): {\n ruleset: JBRulesetData | undefined;\n rulesetMetadata: JBRulesetMetadata | undefined;\n isLoading: boolean;\n} {\n const { contracts, version } = useJBContractContext();\n\n const { data, isLoading } = useReadContract({\n abi: jbControllerAbi,\n functionName: \"upcomingRulesetOf\",\n address: contracts.controller?.data ?? undefined,\n args: projectId ? [projectId] : undefined,\n chainId,\n });\n\n const _latestUpcomingRuleset = data?.[0];\n const _latestUpcomingRulesetMetadata = data?.[1];\n\n // Resolve the actual data hook address\n const { resolvedDataHook } = useResolveDataHook({\n dataHookAddress: _latestUpcomingRulesetMetadata?.dataHook,\n projectId,\n chainId,\n rulesetId: BigInt(_latestUpcomingRuleset?.id ?? 0),\n });\n\n const upcomingWeight = new RulesetWeight(_latestUpcomingRuleset?.weight ?? 0n);\n const upcomingWeightCutPercent = new WeightCutPercent(\n _latestUpcomingRuleset?.weightCutPercent ?? 0\n );\n\n const latestUpcomingRuleset = _latestUpcomingRuleset\n ? {\n ..._latestUpcomingRuleset,\n weight: upcomingWeight,\n weightCutPercent: upcomingWeightCutPercent,\n }\n : undefined;\n\n const upcomingReservedPercent = new ReservedPercent(\n _latestUpcomingRulesetMetadata?.reservedPercent ?? 0\n );\n const upcomingCashOutTaxRate = new CashOutTaxRate(\n _latestUpcomingRulesetMetadata?.cashOutTaxRate ?? 0\n );\n const latestUpcomingRulesetMetadata = _latestUpcomingRulesetMetadata\n ? {\n ..._latestUpcomingRulesetMetadata,\n reservedPercent: upcomingReservedPercent,\n cashOutTaxRate: upcomingCashOutTaxRate,\n // v4/v5 store the INVERSE flag (`useTotalSurplusForCashOuts`) in this slot;\n // normalize to the v6 field's semantics.\n scopeCashOutsToLocalBalances:\n version === 6\n ? _latestUpcomingRulesetMetadata.scopeCashOutsToLocalBalances\n : !_latestUpcomingRulesetMetadata.scopeCashOutsToLocalBalances,\n dataHook: resolvedDataHook,\n }\n : undefined;\n\n return {\n ruleset: latestUpcomingRuleset,\n rulesetMetadata: latestUpcomingRulesetMetadata,\n isLoading,\n };\n}\n","export const API = \"https://api.relayr.ba5ed.com\";\nexport const DASHBOARD = \"https://relayr.ba5ed.com\";\n","\"use client\";\nimport { JBChainId, JBVersion, jbContractAddress } from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../../../contexts/JBContractContext/JBContractContext\";\nimport { useMutation } from \"wagmi/query\";\nimport { API } from \"../constants\";\nimport { RelayrPostBundleResponse } from \"../types\";\n\nexport function useRequestRelayrQuote() {\n const { version: contextVersion } = useJBContractContext();\n\n return useMutation({\n mutationFn: async (\n args: {\n data: `0x${string}`;\n chain: JBChainId;\n value: string;\n version?: JBVersion;\n }[]\n ) => {\n const transactions = args.map((ct) => {\n return {\n chain: ct.chain,\n data: ct.data,\n target: jbContractAddress[ct.version ?? contextVersion][\"ERC2771Forwarder\"][ct.chain],\n value: ct.value,\n };\n });\n\n const response = await fetch(`${API}/v1/bundle/prepaid`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n transactions,\n virtual_nonce_mode: \"Disabled\",\n }),\n });\n\n if (!response.ok) {\n console.error(\"Relayr ERROR:: \", response);\n const errorMessage = await response.text();\n throw new Error(errorMessage);\n }\n\n return (await response.json()) as RelayrPostBundleResponse;\n },\n });\n}\n","import {\n JBChainId,\n JBVersion,\n erc2771ForwarderAbi,\n jbContractAddress,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../../../contexts/JBContractContext/JBContractContext\";\nimport { Address, Hash, encodeFunctionData, getContract } from \"viem\";\nimport { useAccount, useConfig, useSignTypedData, useSwitchChain } from \"wagmi\";\n\nexport type ERC2771ForwardRequestData = {\n from: Address;\n to: Address;\n value: bigint;\n gas: bigint;\n data: Hash;\n};\n\nexport function useSignErc2771ForwardRequest() {\n const { switchChainAsync } = useSwitchChain();\n const { address } = useAccount();\n const config = useConfig();\n const { signTypedDataAsync } = useSignTypedData();\n const { version: contextVersion } = useJBContractContext();\n\n async function sign(\n messageData: ERC2771ForwardRequestData,\n chainId: JBChainId,\n version?: JBVersion,\n ) {\n if (!address) {\n throw new Error(\"Wallet account is not connected\");\n }\n if (messageData.from.toLowerCase() !== address.toLowerCase()) {\n throw new Error(\n \"Forward request signer does not match the connected account\",\n );\n }\n\n await switchChainAsync({ chainId });\n\n const verifyingContract =\n jbContractAddress[version ?? contextVersion][\"ERC2771Forwarder\"][chainId];\n\n // 48hrs\n const deadline = Number(\n ((Date.now() + 3600 * 48 * 1000) / 1000).toFixed(0),\n );\n\n const contract = getContract({\n address: verifyingContract,\n abi: erc2771ForwarderAbi,\n client: config.getClient({ chainId }),\n });\n\n // Keep RPC failures outside the callback promise so they reject `sign`\n // instead of leaving the caller waiting indefinitely.\n const nonce = await contract.read.nonces([address]);\n\n const signature = await signTypedDataAsync({\n // Pin the checked account across the asynchronous chain/RPC work.\n account: address,\n domain: {\n name: \"Juicebox\",\n chainId,\n verifyingContract,\n version: \"1\",\n },\n primaryType: \"ForwardRequest\",\n types: {\n ForwardRequest: [\n { name: \"from\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"gas\", type: \"uint256\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint48\" },\n { name: \"data\", type: \"bytes\" },\n ],\n },\n message: { ...messageData, deadline, nonce },\n });\n\n // Encoding failures must reject `sign`, not escape an async callback and\n // leave callers waiting forever.\n return encodeFunctionData({\n abi: erc2771ForwarderAbi,\n functionName: \"execute\",\n args: [{ ...messageData, deadline, signature }],\n });\n }\n\n return {\n sign,\n };\n}\n","import { JBChainId, JBVersion } from \"@bananapus/nana-sdk-core\";\nimport { useRequestRelayrQuote } from \"./useRequestRelayrQuote\";\nimport {\n ERC2771ForwardRequestData,\n useSignErc2771ForwardRequest,\n} from \"./useSignErc2771ForwardRequest\";\n\n/**\n * Hook to get transaction quote from relayr.\n */\nexport function useGetRelayrTxQuote() {\n const requestRelayrQuote = useRequestRelayrQuote();\n const { sign } = useSignErc2771ForwardRequest();\n\n /**\n * Prompt user to sign transactions for each chain, then fetch transaction data from relayr.\n *\n * Each transaction may carry a `version` to target that JB version's forwarder (defaults to\n * the context version).\n */\n async function getRelayrTxQuote(\n data: {\n chainId: JBChainId;\n data: ERC2771ForwardRequestData;\n version?: JBVersion;\n }[],\n ) {\n if (!data?.length) throw new Error(\"There are no Relayr calls to quote\");\n\n // Signing does not consume the forwarder nonce. Duplicates would authorize\n // the same nonce and make at least one paid destination call fail.\n const seenSigners = new Set<string>();\n for (const request of data) {\n const key = `${request.chainId}:${request.data.from.toLowerCase()}`;\n if (seenSigners.has(key)) {\n throw new Error(\n \"Relayr supports only one forward request per account and chain\",\n );\n }\n seenSigners.add(key);\n }\n\n /**\n * Prompt user to sign transactions for each chain\n */\n const txDataRequest = [];\n for (const d of data) {\n const signedData = await sign(d.data, d.chainId, d.version);\n txDataRequest.push({\n chain: d.chainId,\n data: signedData,\n // The forwarder needs the forward request's value passed along with the execute call.\n value: d.data.value.toString(),\n version: d.version,\n });\n }\n\n /**\n * Fetch transaction data from relayr\n * You'll eventually submit a transaction with this data onchain.\n */\n return await requestRelayrQuote.mutateAsync(txDataRequest);\n }\n\n return {\n getRelayrTxQuote,\n ...requestRelayrQuote,\n };\n}\n","import { useCallback, useMemo, useState } from \"react\";\nimport { useQuery } from \"wagmi/query\";\nimport { API } from \"../constants\";\nimport { RelayrGetBundleResponse } from \"../types\";\n\nconst POLL_INTERVAL = 2000;\n\nconst transactionSucceeded = (state: string) =>\n state === \"Success\" || state === \"Completed\";\n\nconst areTransactionsComplete = (\n response: RelayrGetBundleResponse | undefined,\n) =>\n !!response?.transactions?.length &&\n response.transactions.every((tx) => transactionSucceeded(tx.status.state));\n\nconst hasTransactionFailure = (response: RelayrGetBundleResponse | undefined) =>\n !!response?.transactions?.some((tx) => tx.status.state === \"Failed\");\n\nconst fetchTxBundle = async (\n uuid: string | undefined,\n signal?: AbortSignal,\n): Promise<RelayrGetBundleResponse> => {\n if (!uuid) {\n throw new Error(\"No UUID provided\");\n }\n const response = await fetch(`${API}/v1/bundle/${uuid}`, { signal });\n if (!response.ok) {\n const errorMessage = await response.text();\n throw new Error(errorMessage);\n }\n return response.json();\n};\n\nexport function useGetRelayrTxBundle() {\n const [uuid, setUuid] = useState<string>();\n\n const getRelayrTxBundle = useQuery<\n RelayrGetBundleResponse,\n Error,\n RelayrGetBundleResponse,\n [\"txBundle\", string | undefined]\n >({\n queryKey: [\"txBundle\", uuid],\n queryFn: ({ signal }) => fetchTxBundle(uuid, signal),\n enabled: !!uuid,\n refetchInterval: (query) =>\n areTransactionsComplete(query.state.data) ||\n hasTransactionFailure(query.state.data)\n ? false\n : POLL_INTERVAL,\n });\n\n const startPolling = useCallback(\n (bundleUuid: string) => {\n if (bundleUuid === uuid) {\n void getRelayrTxBundle.refetch();\n return;\n }\n\n setUuid(bundleUuid);\n },\n [getRelayrTxBundle.refetch, uuid],\n );\n\n const isComplete = useMemo(\n () => areTransactionsComplete(getRelayrTxBundle.data),\n [getRelayrTxBundle.data],\n );\n const hasFailed = useMemo(\n () => hasTransactionFailure(getRelayrTxBundle.data),\n [getRelayrTxBundle.data],\n );\n\n return {\n startPolling,\n isComplete,\n hasFailed,\n uuid,\n response: getRelayrTxBundle.data,\n isPolling: !!uuid && !isComplete && !hasFailed,\n isFetching: getRelayrTxBundle.isFetching,\n error: getRelayrTxBundle.error,\n };\n}\n","import { useCallback } from \"react\";\nimport { useChainId, useSwitchChain, useSendTransaction } from \"wagmi\";\nimport { ChainPayment } from \"../types\";\n\n/**\n * Submit a relayr-given transaction onchain.\n */\nexport function useSendRelayrTx() {\n const chainId = useChainId();\n const { switchChainAsync } = useSwitchChain();\n const _sendTransaction = useSendTransaction();\n\n const sendRelayrTx = useCallback(\n async (chainPayment: ChainPayment) => {\n try {\n if (chainId !== chainPayment.chain) {\n try {\n await switchChainAsync({ chainId: chainPayment.chain });\n } catch (e) {\n console.error(e);\n throw new Error(\"Failed to switch to correct chain\");\n }\n }\n\n const tx = await _sendTransaction.sendTransactionAsync({\n chainId: chainPayment.chain,\n to: chainPayment.target,\n value: BigInt(chainPayment.amount),\n data: chainPayment.calldata,\n });\n\n return tx;\n } catch (error) {\n throw error;\n }\n },\n [_sendTransaction.sendTransactionAsync, chainId, switchChainAsync],\n );\n\n return {\n sendRelayrTx,\n isPending: _sendTransaction.isPending,\n error: _sendTransaction.error,\n isSuccess: _sendTransaction.isSuccess,\n data: _sendTransaction.data,\n };\n}\n"],"mappings":"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","names":["NATIVE_TOKEN","debug","jbControllerAbi","jbContractAddress","JBCoreContracts","getJBContractAddress","createContext","useContext","useMemo","isAddressEqual","zeroAddress","debug","debug","createContext","useContext","useReadContract","useReadContract","jsx","createContext","useContext","useReadContract","ruleset","debug","createContext","useContext","debug","jsx","createContext","useContext","debug","debug","useQuery","createContext","useContext","debug","jsx","debug","debug","createContext","useContext","usePublicClient","useQuery","jsx","createContext","useContext","usePublicClient","useQuery","debug","jbControllerAbi","createContext","useContext","isAddressEqual","zeroAddress","useReadContract","jsx","createContext","useContext","useReadContract","isAddressEqual","zeroAddress","jbControllerAbi","debug","createContext","useContext","isAddressEqual","zeroAddress","useReadContract","jsx","createContext","useContext","isAddressEqual","zeroAddress","jsx","debug","jsx","createContext","useContext","mainnet","useQuery","arbitrum","base","mainnet","optimism","useMemo","mainnet","base","optimism","arbitrum","debug","useMemo","OperationTypeNode","DirectiveLocation","Kind","TokenKind","instanceOf","useMemo","useMemo","useMemo","jbMultiTerminalAbi","NATIVE_TOKEN_DECIMALS","useReadContract","jbMultiTerminalAbi","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","jbMultiTerminalAbi","jbMultiTerminalV5Abi","NATIVE_TOKEN","NATIVE_TOKEN_DECIMALS","useQuery","useQuery","projectId","jbMultiTerminalAbi","NATIVE_TOKEN","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","jbMultiTerminalV5Abi","ETH_CURRENCY_ID","NATIVE_TOKEN_DECIMALS","getContract","useConfig","useQuery","useConfig","useQuery","projectId","getContract","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","ETH_CURRENCY_ID","NATIVE_TOKEN_DECIMALS","applyJbDaoCashOutFee","jbTerminalStoreAbi","jbTerminalStoreV5Abi","useReadContract","jbTerminalStoreAbi","jbTerminalStoreV5Abi","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","applyJbDaoCashOutFee","useQuery","JBCoreContracts","JBProjectToken","jbTokensAbi","getContract","useAccount","useConfig","useReadContract","useQuery","useConfig","useAccount","useReadContract","jbTokensAbi","JBCoreContracts","JBProjectToken","useQuery","projectId","getContract","getPrimaryNativeTerminal","getProjectTerminalStore","jbTerminalStoreAbi","NATIVE_TOKEN","getContract","useConfig","useQuery","useConfig","useQuery","projectId","getPrimaryNativeTerminal","getContract","getProjectTerminalStore","jbTerminalStoreAbi","NATIVE_TOKEN","CashOutTaxRate","jbControllerAbi","ReservedPercent","RulesetWeight","WeightCutPercent","useReadContract","useReadContract","jbControllerAbi","RulesetWeight","WeightCutPercent","CashOutTaxRate","ReservedPercent","CashOutTaxRate","jbControllerAbi","ReservedPercent","RulesetWeight","WeightCutPercent","useReadContract","useReadContract","jbControllerAbi","RulesetWeight","WeightCutPercent","ReservedPercent","CashOutTaxRate","useReadContract","jsx","createContext","zeroAddress","useContext","DynamicContract","jbContractAddress","JBCoreContracts","NATIVE_TOKEN","useMemo","isAddressEqual","jbControllerAbi","getJBContractAddress","debug","jbContractAddress","jbContractAddress","jbContractAddress","getContract","useAccount","useConfig","jbContractAddress","useCallback","useMemo","useQuery","useQuery","useCallback","useMemo","useCallback","useSwitchChain"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/NativeTokenValue.tsx","../src/hooks/token/useNativeTokenSymbol.ts","../src/contexts/JBChainContext/JBChainContext.tsx","../src/contexts/JBContractContext/JBContractContext.tsx","../src/hooks/usePreparePayMetadata.ts","../src/hooks/jb721Hook/helpers.ts","../src/hooks/jb721Hook/use721HookMetadataId.tsx","../src/hooks/useNetwork.ts","../src/hooks/jb721Hook/useFind721DataHook.tsx","../src/contexts/JBRulesetContext/JBRulesetContext.tsx","../src/hooks/ruleset/useResolveDataHook.ts","../src/contexts/types.ts","../src/contexts/JBDataHookContext/JBDataHookContext.tsx","../src/hooks/suckers/useSuckers.ts","../src/generated/graphql.ts","../src/lib/bendystraw/useBendystrawQuery.ts","../src/contexts/JBProjectProvider/JBProjectProvider.tsx","../src/contexts/JBDataHookContext/JBCurrentDataHookProvider.tsx","../src/contexts/JBProjectMetadataContext/JBProjectMetadataContext.tsx","../src/contexts/JBTokenContext/JBTokenContext.tsx","../src/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.tsx","../src/contexts/JBTerminalContext/JBTerminalContext.tsx","../src/lib/bendystraw/getBendystrawUrl.ts","../src/hooks/shop/useShopPurchases.ts","../../../node_modules/graphql/jsutils/devAssert.mjs","../../../node_modules/graphql/jsutils/isObjectLike.mjs","../../../node_modules/graphql/jsutils/invariant.mjs","../../../node_modules/graphql/language/location.mjs","../../../node_modules/graphql/language/printLocation.mjs","../../../node_modules/graphql/error/GraphQLError.mjs","../../../node_modules/graphql/error/syntaxError.mjs","../../../node_modules/graphql/language/ast.mjs","../../../node_modules/graphql/language/directiveLocation.mjs","../../../node_modules/graphql/language/kinds.mjs","../../../node_modules/graphql/language/characterClasses.mjs","../../../node_modules/graphql/language/blockString.mjs","../../../node_modules/graphql/language/tokenKind.mjs","../../../node_modules/graphql/language/lexer.mjs","../../../node_modules/graphql/jsutils/inspect.mjs","../../../node_modules/graphql/jsutils/instanceOf.mjs","../../../node_modules/graphql/language/source.mjs","../../../node_modules/graphql/language/parser.mjs","../src/lib/bendystraw/queries/shop.ts","../src/hooks/shop/useOwnedShopItems.ts","../src/hooks/token/useNativeTokenSurplus.ts","../src/hooks/token/useSuckersNativeTokenSurplus.ts","../src/hooks/token/useSuckersCashOutQuote.ts","../src/hooks/token/useTokenCashOutQuoteEth.ts","../src/hooks/token/useSuckersTokenCashOutValue.ts","../src/hooks/useEtherPrice.ts","../src/hooks/token/useSuckersUserTokenBalance.ts","../src/hooks/token/useSuckersNativeTokenBalance.ts","../src/hooks/ruleset/useJBRuleset.ts","../src/hooks/ruleset/useJBUpcomingRuleset.ts","../src/lib/relayr/constants.ts","../src/lib/relayr/hooks/useRequestRelayrQuote.ts","../src/lib/relayr/hooks/useSignErc2771ForwardRequest.ts","../src/lib/relayr/hooks/useGetRelayrTxQuote.ts","../src/lib/relayr/hooks/useGetRelayrTxBundle.ts","../src/lib/relayr/hooks/useSendRelayrTx.ts"],"sourcesContent":["import { NATIVE_TOKEN_DECIMALS, formatUnits } from \"@bananapus/nana-sdk-core\";\nimport { useNativeTokenSymbol } from \"../hooks/token/useNativeTokenSymbol\";\n\n/**\n * Format a native token value for display.\n *\n * The Native Token might be ETH, Sepolia ETH, etc.\n *\n * @param wei The native token value in wei (fixed-point number with 18 decimals).\n * @param decimals The number of decimal places (or 'fraction digits') to display.\n */\nexport function NativeTokenValue({\n wei,\n decimals = 4,\n}: {\n wei: bigint;\n decimals?: number;\n}) {\n const symbol = useNativeTokenSymbol();\n\n return (\n <>\n {formatUnits(wei, NATIVE_TOKEN_DECIMALS, {\n fractionDigits: decimals,\n })}{\" \"}\n {symbol}\n </>\n );\n}\n","import {\n DEFAULT_NATIVE_TOKEN_SYMBOL,\n JB_CHAINS,\n JBChainId,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\n\n/**\n * Return the human-readable token symbol for the chain set in JBChainContext.\n *\n * Depends on JBChainContext.\n */\nexport function useNativeTokenSymbol(chainId?: JBChainId) {\n // `??` short-circuits, so calling the hook on the right-hand side would skip\n // it whenever a chain is passed — a hook-count change on the render where the\n // caller's chainId flips defined <-> undefined.\n const contextChainId = useJBChainId();\n const _chainId = chainId ?? contextChainId;\n if (!_chainId) {\n return DEFAULT_NATIVE_TOKEN_SYMBOL;\n }\n\n return JB_CHAINS[_chainId]?.nativeTokenSymbol ?? DEFAULT_NATIVE_TOKEN_SYMBOL;\n}\n","import { debug, JBChainId } from \"@bananapus/nana-sdk-core\";\nimport { createContext, PropsWithChildren, useContext } from \"react\";\n\n/**\n * Context for project-specific contracts.\n */\nexport type JBChainContextData = {\n chainId: JBChainId | undefined;\n};\n\n/**\n * Context for project-specific contracts.\n */\nexport const JBChainContext = createContext<JBChainContextData>({\n chainId: undefined,\n});\n\nexport function useJBChainId(): JBChainId | undefined {\n const { chainId } = useContext(JBChainContext);\n return chainId;\n}\n\n/**\n * Load project-specific contract addresses for a given JB project.\n *\n * If `include` arg not specified, all contracts are loaded\n */\nexport const JBChainProvider = ({\n chainId,\n children,\n}: PropsWithChildren<{ chainId: JBChainId }>) => {\n debug(\"JBChainContext\", { chainId });\n\n return (\n <JBChainContext.Provider value={{ chainId }}>\n {children}\n </JBChainContext.Provider>\n );\n};\n","import {\n JBChainId,\n NATIVE_TOKEN,\n debug,\n USDC_ADDRESSES,\n jbDirectoryAbi,\n jbControllerAbi,\n JBVersion,\n jbContractAddress,\n JBCoreContracts,\n getJBContractAddress,\n Contract,\n} from \"@bananapus/nana-sdk-core\";\nimport {\n PropsWithChildren,\n createContext,\n useCallback,\n useContext,\n useMemo,\n} from \"react\";\nimport { Address, isAddressEqual, zeroAddress } from \"viem\";\nimport { useSuckers } from \"../../hooks\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Context for project-specific contracts.\n */\nexport type JBContractContextData = {\n projectId: bigint;\n version: JBVersion;\n contracts: {\n primaryNativeTerminal: AsyncData<Address>;\n controller: AsyncData<Address>;\n fundAccessLimits: AsyncData<Address>;\n rulesets: AsyncData<Address>;\n tokens: AsyncData<Address>;\n splits: AsyncData<Address>;\n };\n contractAddress: (contract: Contract, chainId?: JBChainId) => Address;\n};\n\n/**\n * There is no honest default for a project's identity: `projectId: 0n` with\n * `version: 5` reading at `zeroAddress` is a silent wrong answer, not an empty\n * one. Fail loudly instead so the missing provider is obvious at the call site.\n */\nfunction outsideProvider(): never {\n throw new Error(\n \"JBContractContext was read outside a JBContractProvider. Wrap the tree in JBProjectProvider or JBContractProvider.\",\n );\n}\n\n/**\n * Context for project-specific contracts.\n */\nexport const JBContractContext = createContext<JBContractContextData>({\n /**\n * The project id of the Juicebox project.\n */\n get projectId(): bigint {\n return outsideProvider();\n },\n\n get version(): JBVersion {\n return outsideProvider();\n },\n\n /**\n * The addresses of the contracts for the project.\n */\n contracts: {\n primaryNativeTerminal: AsyncDataNone,\n controller: AsyncDataNone,\n fundAccessLimits: AsyncDataNone,\n rulesets: AsyncDataNone,\n tokens: AsyncDataNone,\n splits: AsyncDataNone,\n },\n\n contractAddress: outsideProvider,\n});\n\nexport function useJBContractContext() {\n return useContext(JBContractContext);\n}\n\n// contracts that are different across JB projects.\nexport enum DynamicContract {\n \"Controller\",\n \"PrimaryNativePaymentTerminal\",\n \"FundAccessLimits\",\n \"Tokens\",\n \"Splits\",\n \"Rulesets\",\n}\n\nexport type JBContractProviderProps = PropsWithChildren<{\n projectId: bigint;\n version: JBVersion;\n include?: DynamicContract[];\n}>;\n\n/**\n * Return the current project ID and chain ID. If `chainId` provided, return the project ID for that chain.\n * Otherwise, return the project ID for the current chain.\n */\nexport function useJBProjectId(chainId?: JBChainId): {\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n version: JBVersion;\n} {\n const currentChainId = useJBChainId();\n const { projectId: currentProjectId, version } = useJBContractContext();\n\n const { data: suckers } = useSuckers({ enabled: !!chainId });\n\n if (!chainId || currentChainId === chainId || !suckers) {\n return { projectId: currentProjectId, chainId: currentChainId, version };\n }\n\n const projectId = suckers.find(\n (suckerPair) => suckerPair.peerChainId === chainId,\n )?.projectId;\n\n return { projectId, chainId, version };\n}\n\n/**\n * Load project-specific contract addresses for a given JB project.\n *\n * If `include` arg not specified, all contracts are loaded\n */\nexport const JBContractProvider = ({\n projectId,\n include,\n children,\n version,\n}: JBContractProviderProps) => {\n const chainId = useJBChainId();\n const enabled = useCallback(\n (selector: DynamicContract[]) => {\n if (typeof include === \"undefined\") return true;\n return include.some((c) => selector.includes(c));\n },\n [include],\n );\n\n const jbDirectoryAddress = chainId\n ? jbContractAddress[version][JBCoreContracts.JBDirectory][chainId]\n : undefined;\n\n const primaryNativeTerminalEth = useReadContract({\n address: jbDirectoryAddress,\n abi: jbDirectoryAbi,\n functionName: \"primaryTerminalOf\",\n chainId,\n args: enabled([DynamicContract.PrimaryNativePaymentTerminal])\n ? [projectId, NATIVE_TOKEN]\n : undefined,\n });\n\n const usdcAddress = chainId ? USDC_ADDRESSES[chainId] : undefined;\n\n const primaryNativeTerminalUsdc = useReadContract({\n address: jbDirectoryAddress,\n abi: jbDirectoryAbi,\n functionName: \"primaryTerminalOf\",\n chainId,\n args:\n usdcAddress && enabled([DynamicContract.PrimaryNativePaymentTerminal])\n ? [projectId, usdcAddress]\n : undefined,\n });\n\n const primaryNativeTerminal = useMemo(() => {\n const isTerminal = (address: Address | undefined) =>\n address !== undefined && !isAddressEqual(address, zeroAddress);\n\n if (isTerminal(primaryNativeTerminalEth.data))\n return primaryNativeTerminalEth;\n if (isTerminal(primaryNativeTerminalUsdc.data))\n return primaryNativeTerminalUsdc;\n\n // Neither accounting token resolved to a terminal. `primaryTerminalOf`\n // answers `zeroAddress` for \"none\", which must not be published as if it\n // were a contract to read from.\n return {\n ...primaryNativeTerminalEth,\n data: undefined,\n isLoading:\n primaryNativeTerminalEth.isLoading ||\n primaryNativeTerminalUsdc.isLoading,\n };\n }, [primaryNativeTerminalEth, primaryNativeTerminalUsdc]);\n\n const controller = useReadContract({\n chainId,\n address: jbDirectoryAddress,\n abi: jbDirectoryAbi,\n functionName: \"controllerOf\",\n args: [projectId],\n query: {\n enabled: enabled([DynamicContract.Controller]),\n staleTime: Infinity,\n },\n });\n\n const controllerAddress = useMemo(() => controller.data, [controller.data]);\n\n const hasController = useMemo(() => {\n return Boolean(\n controllerAddress && !isAddressEqual(controllerAddress, zeroAddress),\n );\n }, [controllerAddress]);\n\n // An unresolved controller is `undefined`, never `zeroAddress`: with\n // `staleTime: Infinity` a read aimed at `0x0` would be cached as the\n // project's permanent answer.\n const resolvedControllerAddress = useMemo(() => {\n return hasController ? controllerAddress : undefined;\n }, [controllerAddress, hasController]);\n\n const fundAccessLimits = useReadContract({\n chainId,\n address: resolvedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"FUND_ACCESS_LIMITS\",\n query: {\n enabled:\n hasController &&\n enabled([DynamicContract.Controller, DynamicContract.FundAccessLimits]),\n staleTime: Infinity,\n },\n });\n\n const rulesets = useReadContract({\n chainId,\n address: resolvedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"RULESETS\",\n query: {\n enabled:\n hasController &&\n enabled([DynamicContract.Controller, DynamicContract.Rulesets]),\n staleTime: Infinity,\n },\n });\n\n const tokens = useReadContract({\n chainId,\n address: resolvedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"TOKENS\",\n query: {\n enabled:\n hasController &&\n enabled([DynamicContract.Controller, DynamicContract.Tokens]),\n staleTime: Infinity,\n },\n });\n\n const splits = useReadContract({\n chainId,\n address: resolvedControllerAddress,\n abi: jbControllerAbi,\n functionName: \"SPLITS\",\n query: {\n enabled:\n hasController &&\n enabled([DynamicContract.Controller, DynamicContract.Splits]),\n staleTime: Infinity,\n },\n });\n\n // A dependent read that is disabled because its controller has not resolved\n // yet reports `isLoading: false, data: undefined` — indistinguishable from\n // \"this project has none\". Carry the upstream's loading state instead.\n const dependent = <T,>(query: {\n data: T | undefined;\n isLoading: boolean;\n }) => ({\n ...query,\n isLoading: Boolean(query.isLoading || controller.isLoading),\n });\n\n const contractAddress = useCallback(\n (contract: Contract, _chainId?: JBChainId) => {\n return getJBContractAddress(contract, version, _chainId || chainId!);\n },\n [version, chainId],\n );\n\n const contracts = {\n controller,\n fundAccessLimits: dependent(fundAccessLimits),\n primaryNativeTerminal,\n rulesets: dependent(rulesets),\n tokens: dependent(tokens),\n splits: dependent(splits),\n };\n\n debug(\"JBContractContext\", { projectId, contracts });\n\n return (\n <JBContractContext.Provider\n value={{\n version,\n projectId,\n contracts,\n contractAddress,\n }}\n >\n {children}\n </JBContractContext.Provider>\n );\n};\n","import {\n DEFAULT_ALLOW_OVERSPENDING,\n createHookMetadata,\n} from \"@bananapus/nana-sdk-core\";\nimport { Address, Hash, encodeAbiParameters } from \"viem\";\nimport { use721HookMetadataId } from \"./jb721Hook/use721HookMetadataId\";\nimport { debug } from \"@bananapus/nana-sdk-core\";\n\ninterface Jb721HookPayMetadata {\n tierIdsToMint: bigint[];\n allowOverspending?: boolean;\n}\n\nfunction encodeJB721HookPayMetadata(metadata: Jb721HookPayMetadata) {\n const args = [\n metadata.allowOverspending ?? DEFAULT_ALLOW_OVERSPENDING,\n metadata.tierIdsToMint.map(Number),\n ] as [boolean, readonly number[]];\n\n const encoded = encodeAbiParameters(\n [{ type: \"bool\" }, { type: \"uint16[]\" }],\n args,\n );\n return encoded;\n}\n\n/**\n * Returns pay metadata for the given arguments, depending on the current datasource.\n * @note only supports JB721Hook V3.4 datasource.\n * @note depends on JBDataSourceContext.\n * @todo support buy-back Hook.\n */\nexport function usePreparePayMetadata({\n jb721Hook,\n}: {\n jb721Hook?: { dataHookAddress: Address; tierIdsToMint: bigint[] };\n} = {}): Hash | null {\n const HookIds: string[] = [];\n const metadatas: string[] = [];\n\n const metadataId = use721HookMetadataId({\n dataHookAddress: jb721Hook?.dataHookAddress,\n });\n\n debug(\"usePreparePayMetadata\", { metadataId, jb721Hook });\n\n if (!jb721Hook || jb721Hook.tierIdsToMint.length == 0 || !metadataId) {\n return null;\n }\n\n const jb721HookMetadata = encodeJB721HookPayMetadata({\n tierIdsToMint: jb721Hook.tierIdsToMint,\n allowOverspending: DEFAULT_ALLOW_OVERSPENDING,\n });\n\n HookIds.push(metadataId);\n metadatas.push(jb721HookMetadata);\n\n return createHookMetadata(HookIds, metadatas) as Hash;\n}\n","import { Address, bytesToHex, keccak256, toBytes } from \"viem\";\n\n/**\n * createMetadataTargetIdPayHash returns metadataTargetId hashed with string `\"pay\"`.\n *\n * @link https://github.com/Bananapus/nana-core/blob/cfb1d4cd4e79bed840a9c8fcd17a0f397da3e3bf/src/libraries/JBMetadataResolver.sol#L280\n * bytes4(bytes20(target) ^ bytes20(keccak256(bytes(purpose))));\n */\nexport function createMetadataTargetIdPayHash(\n metadataTargetId: Address,\n purpose: string = \"pay\",\n) {\n const targetBytes = toBytes(metadataTargetId);\n const purposeBytes = toBytes(purpose);\n\n const targetBytes20 = targetBytes.slice(0, 20);\n const purposeBytes20 = toBytes(keccak256(purposeBytes)).slice(0, 20);\n\n const xorResult = targetBytes20.map((byte, i) => byte ^ purposeBytes20[i]);\n\n return bytesToHex(xorResult.slice(0, 4));\n}\n","import { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { Address } from \"viem\";\nimport { createMetadataTargetIdPayHash } from \"./helpers\";\nimport { jb721TiersHookAbi } from \"@bananapus/nana-sdk-core\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * use721HookMetadataId returns the METADATA_TARGET_ID of the given dataHookAddress, hashed with string `\"pay\"`.\n */\nexport function use721HookMetadataId({\n dataHookAddress,\n}: {\n dataHookAddress: Address | undefined;\n}) {\n const chainId = useJBChainId();\n const { data: hashedMetadataId } = useReadContract({\n abi: jb721TiersHookAbi,\n functionName: \"METADATA_ID_TARGET\",\n chainId,\n address: dataHookAddress,\n query: {\n enabled: !!dataHookAddress,\n select(metadataTargetId) {\n return createMetadataTargetIdPayHash(metadataTargetId, \"pay\");\n },\n },\n });\n\n return hashedMetadataId;\n}\n","import { Chain } from \"viem\";\nimport { useAccount, useClient } from \"wagmi\";\n\n/**\n * Return the chain that the user is currently connected to.\n * If user is not connected, return the public chain. (configured in wagmiConfig)\n * @returns {Chain}\n */\nexport function useChain(): Chain | undefined {\n const { chain } = useAccount();\n const client = useClient();\n return chain ?? client?.chain;\n}\n","import { find721DataHook } from \"@bananapus/nana-sdk-core\";\nimport { usePublicClient } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useJBRulesetContext } from \"../../contexts/JBRulesetContext/JBRulesetContext\";\nimport { useJBDataHookContext } from \"../../contexts/JBDataHookContext/JBDataHookContext\";\nimport { debug } from \"@bananapus/nana-sdk-core\";\n\n/**\n * Return the 721 data hook (if it exists) for the project and current ruleset in context.\n */\nexport function useFind721DataHook() {\n const { data } = useJBDataHookContext();\n const { projectId, version } = useJBContractContext();\n const { ruleset } = useJBRulesetContext();\n const chainId = useJBChainId();\n // Without an explicit chain this reads the wallet's chain, not the project's.\n const publicClient = usePublicClient({ chainId });\n\n const rulesetId = ruleset.data?.id;\n const dataHookAddress = data?.dataHookAddress;\n\n debug(\"useFind721DataHook::args\", {\n projectId,\n rulesetId,\n dataHookAddress,\n publicClient,\n });\n\n const jb721DataHookQuery = useQuery({\n // Chain and version are read inputs, and with `staleTime: Infinity` a key\n // that omits them serves one chain's (or version's) hook for another's.\n queryKey: [\n \"dataHook\",\n chainId,\n version,\n projectId,\n rulesetId,\n dataHookAddress,\n ],\n enabled: !!chainId && !!rulesetId && !!dataHookAddress,\n staleTime: Infinity,\n queryFn: async () => {\n if (!rulesetId || !dataHookAddress) return null;\n if (!publicClient) {\n throw new Error(\"Public client not available.\");\n }\n\n const jb721DataHook = await find721DataHook(publicClient, {\n dataHookAddress,\n projectId,\n rulesetId,\n version,\n });\n\n return jb721DataHook;\n },\n });\n\n return jb721DataHookQuery;\n}\n","import {\n CashOutTaxRate,\n debug,\n jbControllerAbi,\n ReservedPercent,\n RulesetWeight,\n WeightCutPercent,\n} from \"@bananapus/nana-sdk-core\";\nimport { createContext, useContext } from \"react\";\nimport { ContractFunctionReturnType } from \"viem\";\nimport { useReadContract } from \"wagmi\";\nimport { useResolveDataHook } from \"../../hooks/ruleset/useResolveDataHook\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\n\n/**\n * Context for the current ruleset of a project.\n */\nexport type JBRulesetContext = {\n /**\n * The current ruleset of the project.\n */\n ruleset: AsyncData<\n Omit<\n ContractFunctionReturnType<\n typeof jbControllerAbi,\n \"view\",\n \"currentRulesetOf\"\n >[0],\n \"weight\" | \"weightCutPercent\"\n > & {\n weight: RulesetWeight;\n weightCutPercent: WeightCutPercent;\n }\n >;\n /**\n * The metadata for the current ruleset of the project.\n */\n rulesetMetadata: AsyncData<\n Omit<\n ContractFunctionReturnType<\n typeof jbControllerAbi,\n \"view\",\n \"currentRulesetOf\"\n >[1],\n \"cashOutTaxRate\" | \"reservedPercent\"\n > & {\n cashOutTaxRate: CashOutTaxRate;\n reservedPercent: ReservedPercent;\n }\n >;\n};\n\n/**\n * Context for the project's current ruleset.\n */\nexport const JBRulesetContext = createContext<JBRulesetContext>({\n ruleset: AsyncDataNone,\n rulesetMetadata: AsyncDataNone,\n});\n\nexport function useJBRulesetContext() {\n return useContext(JBRulesetContext);\n}\n\n/**\n *\n * @deprecated use useJBRuleset instead\n */\nexport function useJBRulesetMetadata() {\n const { rulesetMetadata } = useJBRulesetContext();\n\n return rulesetMetadata;\n}\n\n/**\n * Provides the current ruleset for a project.\n *\n * @note depends on JBContractContext\n */\nexport const JBRulesetProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { contracts, projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n const controllerAddress = contracts.controller.data ?? undefined;\n\n const { data: ruleset, isLoading } = useReadContract({\n chainId,\n abi: jbControllerAbi,\n functionName: \"currentRulesetOf\",\n address: controllerAddress,\n args: [projectId],\n query: {\n enabled: !!controllerAddress,\n select([ruleset, rulesetMetadata]) {\n return {\n data: {\n ...ruleset,\n weight: new RulesetWeight(ruleset.weight),\n weightCutPercent: new WeightCutPercent(ruleset.weightCutPercent),\n },\n metadata: {\n ...rulesetMetadata,\n cashOutTaxRate: new CashOutTaxRate(rulesetMetadata.cashOutTaxRate),\n reservedPercent: new ReservedPercent(\n rulesetMetadata.reservedPercent,\n ),\n // v4/v5 store the INVERSE flag (`useTotalSurplusForCashOuts`) in this slot;\n // normalize to the v6 field's semantics.\n scopeCashOutsToLocalBalances:\n version === 6\n ? rulesetMetadata.scopeCashOutsToLocalBalances\n : !rulesetMetadata.scopeCashOutsToLocalBalances,\n },\n };\n },\n },\n });\n\n const { resolvedDataHook, isLoading: isDataHookLoading } = useResolveDataHook(\n {\n dataHookAddress: ruleset?.metadata?.dataHook,\n projectId,\n chainId,\n rulesetId:\n ruleset?.data.id === undefined ? undefined : BigInt(ruleset.data.id),\n },\n );\n\n // A read that is disabled because its controller has not resolved yet reports\n // `isLoading: false`, which reads downstream as \"this project has no ruleset\".\n const isRulesetLoading = Boolean(isLoading || contracts.controller.isLoading);\n\n // `resolvedDataHook` is undefined while the hook behind the omnichain deployer\n // is still being resolved. Publishing the metadata with the deployer address in\n // that window makes a pay revert in `use721HookMetadataId`.\n const rulesetMetadataWithResolvedDataHook =\n ruleset?.metadata && resolvedDataHook\n ? { ...ruleset.metadata, dataHook: resolvedDataHook }\n : undefined;\n\n const rulesetState = { data: ruleset?.data, isLoading: isRulesetLoading };\n const rulesetMetadataState = {\n data: rulesetMetadataWithResolvedDataHook,\n isLoading: Boolean(isRulesetLoading || isDataHookLoading),\n };\n\n debug(\"JBRulesetContext\", {\n ruleset: rulesetState,\n rulesetMetadata: rulesetMetadataState,\n });\n\n return (\n <JBRulesetContext.Provider\n value={{\n ruleset: rulesetState,\n rulesetMetadata: rulesetMetadataState,\n }}\n >\n {children}\n </JBRulesetContext.Provider>\n );\n};\n","import {\n JBChainId,\n jbContractAddress,\n jbOmnichainDeployer4_1Abi,\n jbOmnichainDeployerAbi,\n jbOmnichainDeployerV5Abi,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\nimport { mainnet } from \"viem/chains\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Hook to resolve the actual dataHook address if it is the JBOmnichainDeployer address.\n *\n * @param dataHookAddress - The data hook address from the ruleset metadata\n * @param projectId - The project ID\n * @param chainId - The chain ID\n * @returns The resolved data hook address\n */\nexport function useResolveDataHook({\n dataHookAddress,\n projectId,\n chainId,\n rulesetId,\n}: {\n dataHookAddress: `0x${string}` | undefined;\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n rulesetId: bigint | undefined;\n}) {\n const { version } = useJBContractContext();\n\n const omnichainDeployerAddress =\n version === 4\n ? jbContractAddress[4][\"JBOmnichainDeployer4_1\"][mainnet.id]\n : jbContractAddress[version][\"JBOmnichainDeployer\"][mainnet.id]; // same on all chains\n\n // Check if the data hook is JBOmnichainDeployer\n const dataHookIsOmnichainDeployer = Boolean(\n dataHookAddress &&\n isAddressEqual(dataHookAddress, omnichainDeployerAddress),\n );\n\n const args =\n projectId && rulesetId ? ([projectId, rulesetId] as const) : undefined;\n\n // v4/v5: the omnichain deployer stores a single data hook config.\n const legacyDataHookQuery = useReadContract({\n abi: version === 4 ? jbOmnichainDeployer4_1Abi : jbOmnichainDeployerV5Abi,\n functionName: \"dataHookOf\",\n address: omnichainDeployerAddress,\n chainId,\n args,\n query: {\n enabled: version !== 6 && !!dataHookIsOmnichainDeployer && !!projectId,\n },\n });\n\n // v6: the omnichain deployer stores the tiered 721 hook and an optional extra data hook separately.\n const tiered721HookQuery = useReadContract({\n abi: jbOmnichainDeployerAbi,\n functionName: \"tiered721HookOf\",\n address: omnichainDeployerAddress,\n chainId,\n args,\n query: {\n enabled: version === 6 && !!dataHookIsOmnichainDeployer && !!projectId,\n },\n });\n const extraDataHookQuery = useReadContract({\n abi: jbOmnichainDeployerAbi,\n functionName: \"extraDataHookOf\",\n address: omnichainDeployerAddress,\n chainId,\n args,\n query: {\n enabled: version === 6 && !!dataHookIsOmnichainDeployer && !!projectId,\n },\n });\n\n const isLoading =\n version === 6\n ? tiered721HookQuery.isLoading || extraDataHookQuery.isLoading\n : legacyDataHookQuery.isLoading;\n const error =\n version === 6\n ? (tiered721HookQuery.error ?? extraDataHookQuery.error)\n : legacyDataHookQuery.error;\n\n if (!dataHookAddress)\n return {\n resolvedDataHook: zeroAddress,\n dataHookIsOmnichainDeployer,\n isLoading,\n error,\n };\n\n // Resolve the actual data hook address. Until the deployer's own reads land,\n // the answer is unknown: publishing the deployer address as the data hook\n // makes downstream `METADATA_ID_TARGET` reads revert and pays mint no NFTs.\n let resolvedDataHook: `0x${string}` | undefined = dataHookAddress;\n if (dataHookIsOmnichainDeployer) {\n if (version === 6) {\n const tiered721Hook = tiered721HookQuery.data?.[0];\n const extraDataHook = extraDataHookQuery.data?.dataHook;\n if (tiered721Hook && !isAddressEqual(tiered721Hook, zeroAddress)) {\n resolvedDataHook = tiered721Hook;\n } else if (extraDataHook && !isAddressEqual(extraDataHook, zeroAddress)) {\n resolvedDataHook = extraDataHook;\n } else if (tiered721Hook === undefined || extraDataHook === undefined) {\n resolvedDataHook = undefined;\n }\n } else if (legacyDataHookQuery.data === undefined) {\n resolvedDataHook = undefined;\n } else if (legacyDataHookQuery.data[2]) {\n resolvedDataHook = legacyDataHookQuery.data[2];\n }\n }\n\n return {\n resolvedDataHook,\n dataHookIsOmnichainDeployer,\n isLoading,\n error,\n };\n}\n","export interface AsyncData<T> {\n isLoading: boolean;\n data: T | undefined | null;\n}\n\nconst AsyncDataNone: AsyncData<any> = {\n isLoading: false,\n data: undefined,\n};\n\nexport { AsyncDataNone };\n","import { PropsWithChildren, createContext, useContext, useMemo } from \"react\";\nimport { Address } from \"viem\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\nimport { debug } from \"@bananapus/nana-sdk-core\";\n\n/**\n * Data structure for the context for a given dataHook.\n */\nexport type JBDataHookContextData = AsyncData<{\n /**\n * Address of the dataHook.\n */\n dataHookAddress: Address;\n}>;\n\n/**\n * Context for a given dataHook.\n */\nexport const JBDataHookContext =\n createContext<JBDataHookContextData>(AsyncDataNone);\n\nexport function useJBDataHookContext() {\n return useContext(JBDataHookContext);\n}\n\nexport type JBDataHookProviderProps = PropsWithChildren<{\n dataHookAddress: Address | undefined;\n}>;\n\n/**\n * Provides information about a given dataHook.\n * ONLY SUPPORTS JB721Delegate!\n * @TODO support other dataHooks (e.g. buy-back delegate)\n *\n * @note depends on JBContractContext\n */\nexport const JBDataHookProvider = ({\n dataHookAddress,\n children,\n}: JBDataHookProviderProps) => {\n const data = useMemo(() => {\n if (!dataHookAddress) {\n return AsyncDataNone;\n }\n\n return {\n isLoading: false,\n data: {\n dataHookAddress,\n },\n } as JBDataHookContextData;\n }, [dataHookAddress]);\n\n debug(\"JBDataHookContext\", data);\n\n return (\n <JBDataHookContext.Provider value={data}>\n {children}\n </JBDataHookContext.Provider>\n );\n};\n","import { debug, JBChainId } from \"@bananapus/nana-sdk-core\";\nimport { ProjectDocument } from \"src/generated/graphql\";\nimport { useBendystrawQuery } from \"src/lib/bendystraw/useBendystrawQuery\";\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n mainnet,\n optimism,\n optimismSepolia,\n sepolia,\n} from \"viem/chains\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useMemo } from \"react\";\n\n/**\n * Preferred chain ordering\n */\nconst chainOrder = [\n mainnet.id,\n base.id,\n optimism.id,\n arbitrum.id,\n\n sepolia.id,\n baseSepolia.id,\n optimismSepolia.id,\n arbitrumSepolia.id,\n];\n\n/**\n * Return sucker pairs for the project ID in context.\n *\n */\nexport function useSuckers(args?: { enabled: boolean }) {\n const { enabled = true } = args ?? {};\n const { projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n debug(\"useSuckers::args\", { projectId, chainId });\n\n const { data, ...rest } = useBendystrawQuery(\n ProjectDocument,\n {\n projectId: Number(projectId),\n chainId: Number(chainId),\n version,\n },\n { staleTime: Infinity, enabled: !!chainId && enabled },\n );\n\n const pairs = useMemo(\n () =>\n data?.project?.suckerGroup?.projects?.items\n .map((item) => ({\n peerChainId: item.chainId as JBChainId,\n projectId: BigInt(item.projectId),\n }))\n ?.sort((a, b) => {\n const aChainId = chainOrder.indexOf(a.peerChainId);\n const bChainId = chainOrder.indexOf(b.peerChainId);\n if (aChainId === -1 || bChainId === -1) return 0;\n return aChainId - bChainId;\n }),\n [data],\n );\n\n return { data: pairs, ...rest };\n}\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n BigInt: { input: any; output: any; }\n JSON: { input: any; output: any; }\n};\n\nexport type Meta = {\n status: Maybe<Scalars['JSON']['output']>;\n};\n\nexport type PageInfo = {\n endCursor: Maybe<Scalars['String']['output']>;\n hasNextPage: Scalars['Boolean']['output'];\n hasPreviousPage: Scalars['Boolean']['output'];\n startCursor: Maybe<Scalars['String']['output']>;\n};\n\nexport type Query = {\n _meta: Maybe<Meta>;\n _sucker: Maybe<_Sucker>;\n _suckers: _SuckerPage;\n activityEvent: Maybe<ActivityEvent>;\n activityEvents: ActivityEventPage;\n addToBalanceEvent: Maybe<AddToBalanceEvent>;\n addToBalanceEvents: AddToBalanceEventPage;\n autoIssueEvent: Maybe<AutoIssueEvent>;\n autoIssueEvents: AutoIssueEventPage;\n borrowLoanEvent: Maybe<BorrowLoanEvent>;\n borrowLoanEvents: BorrowLoanEventPage;\n burnEvent: Maybe<BurnEvent>;\n burnEvents: BurnEventPage;\n cashOutTokensEvent: Maybe<CashOutTokensEvent>;\n cashOutTokensEvents: CashOutTokensEventPage;\n decorateBannyEvent: Maybe<DecorateBannyEvent>;\n decorateBannyEvents: DecorateBannyEventPage;\n deployErc20Event: Maybe<DeployErc20Event>;\n deployErc20Events: DeployErc20EventPage;\n liquidateLoanEvent: Maybe<LiquidateLoanEvent>;\n liquidateLoanEvents: LiquidateLoanEventPage;\n loan: Maybe<Loan>;\n loans: LoanPage;\n mintNftEvent: Maybe<MintNftEvent>;\n mintNftEvents: MintNftEventPage;\n mintTokensEvent: Maybe<MintTokensEvent>;\n mintTokensEvents: MintTokensEventPage;\n nft: Maybe<Nft>;\n nftHook: Maybe<NftHook>;\n nftHooks: NftHookPage;\n nftTier: Maybe<NftTier>;\n nftTiers: NftTierPage;\n nfts: NftPage;\n participant: Maybe<Participant>;\n participantSnapshot: Maybe<ParticipantSnapshot>;\n participantSnapshots: ParticipantSnapshotPage;\n participants: ParticipantPage;\n payEvent: Maybe<PayEvent>;\n payEvents: PayEventPage;\n permissionHolder: Maybe<PermissionHolder>;\n permissionHolders: PermissionHolderPage;\n project: Maybe<Project>;\n projectCreateEvent: Maybe<ProjectCreateEvent>;\n projectCreateEvents: ProjectCreateEventPage;\n projectMoment: Maybe<ProjectMoment>;\n projectMoments: ProjectMomentPage;\n projects: ProjectPage;\n reallocateLoanEvent: Maybe<ReallocateLoanEvent>;\n reallocateLoanEvents: ReallocateLoanEventPage;\n repayLoanEvent: Maybe<RepayLoanEvent>;\n repayLoanEvents: RepayLoanEventPage;\n sendPayoutToSplitEvent: Maybe<SendPayoutToSplitEvent>;\n sendPayoutToSplitEvents: SendPayoutToSplitEventPage;\n sendPayoutsEvent: Maybe<SendPayoutsEvent>;\n sendPayoutsEvents: SendPayoutsEventPage;\n sendReservedTokensToSplitEvent: Maybe<SendReservedTokensToSplitEvent>;\n sendReservedTokensToSplitEvents: SendReservedTokensToSplitEventPage;\n sendReservedTokensToSplitsEvent: Maybe<SendReservedTokensToSplitsEvent>;\n sendReservedTokensToSplitsEvents: SendReservedTokensToSplitsEventPage;\n storeAutoIssuanceAmountEvent: Maybe<StoreAutoIssuanceAmountEvent>;\n storeAutoIssuanceAmountEvents: StoreAutoIssuanceAmountEventPage;\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupMoment: Maybe<SuckerGroupMoment>;\n suckerGroupMoments: SuckerGroupMomentPage;\n suckerGroups: SuckerGroupPage;\n useAllowanceEvent: Maybe<UseAllowanceEvent>;\n useAllowanceEvents: UseAllowanceEventPage;\n wallet: Maybe<Wallet>;\n wallets: WalletPage;\n};\n\n\nexport type Query_SuckerArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type Query_SuckersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<_SuckerFilter>;\n};\n\n\nexport type QueryActivityEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryActivityEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ActivityEventFilter>;\n};\n\n\nexport type QueryAddToBalanceEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryAddToBalanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AddToBalanceEventFilter>;\n};\n\n\nexport type QueryAutoIssueEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryAutoIssueEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AutoIssueEventFilter>;\n};\n\n\nexport type QueryBorrowLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryBorrowLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BorrowLoanEventFilter>;\n};\n\n\nexport type QueryBurnEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryBurnEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BurnEventFilter>;\n};\n\n\nexport type QueryCashOutTokensEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryCashOutTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<CashOutTokensEventFilter>;\n};\n\n\nexport type QueryDecorateBannyEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryDecorateBannyEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<DecorateBannyEventFilter>;\n};\n\n\nexport type QueryDeployErc20EventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryDeployErc20EventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<DeployErc20EventFilter>;\n};\n\n\nexport type QueryLiquidateLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryLiquidateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<LiquidateLoanEventFilter>;\n};\n\n\nexport type QueryLoanArgs = {\n chainId: Scalars['Float']['input'];\n id: Scalars['BigInt']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryLoansArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<LoanFilter>;\n};\n\n\nexport type QueryMintNftEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryMintNftEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintNftEventFilter>;\n};\n\n\nexport type QueryMintTokensEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryMintTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintTokensEventFilter>;\n};\n\n\nexport type QueryNftArgs = {\n chainId: Scalars['Float']['input'];\n hook: Scalars['String']['input'];\n tokenId: Scalars['BigInt']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryNftHookArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryNftHooksArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftHookFilter>;\n};\n\n\nexport type QueryNftTierArgs = {\n chainId: Scalars['Float']['input'];\n hook: Scalars['String']['input'];\n tierId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryNftTiersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftTierFilter>;\n};\n\n\nexport type QueryNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\n\nexport type QueryParticipantArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryParticipantSnapshotArgs = {\n address: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryParticipantSnapshotsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantSnapshotFilter>;\n};\n\n\nexport type QueryParticipantsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantFilter>;\n};\n\n\nexport type QueryPayEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryPayEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PayEventFilter>;\n};\n\n\nexport type QueryPermissionHolderArgs = {\n account: Scalars['String']['input'];\n chainId: Scalars['Float']['input'];\n operator: Scalars['String']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryPermissionHoldersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PermissionHolderFilter>;\n};\n\n\nexport type QueryProjectArgs = {\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryProjectCreateEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryProjectCreateEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectCreateEventFilter>;\n};\n\n\nexport type QueryProjectMomentArgs = {\n block: Scalars['Float']['input'];\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QueryProjectMomentsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectMomentFilter>;\n};\n\n\nexport type QueryProjectsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectFilter>;\n};\n\n\nexport type QueryReallocateLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryReallocateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ReallocateLoanEventFilter>;\n};\n\n\nexport type QueryRepayLoanEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryRepayLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<RepayLoanEventFilter>;\n};\n\n\nexport type QuerySendPayoutToSplitEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendPayoutToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutToSplitEventFilter>;\n};\n\n\nexport type QuerySendPayoutsEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendPayoutsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutsEventFilter>;\n};\n\n\nexport type QuerySendReservedTokensToSplitEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendReservedTokensToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitEventFilter>;\n};\n\n\nexport type QuerySendReservedTokensToSplitsEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySendReservedTokensToSplitsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitsEventFilter>;\n};\n\n\nexport type QueryStoreAutoIssuanceAmountEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryStoreAutoIssuanceAmountEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<StoreAutoIssuanceAmountEventFilter>;\n};\n\n\nexport type QuerySuckerGroupArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QuerySuckerGroupMomentArgs = {\n block: Scalars['Float']['input'];\n suckerGroupId: Scalars['String']['input'];\n version: Scalars['Float']['input'];\n};\n\n\nexport type QuerySuckerGroupMomentsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SuckerGroupMomentFilter>;\n};\n\n\nexport type QuerySuckerGroupsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SuckerGroupFilter>;\n};\n\n\nexport type QueryUseAllowanceEventArgs = {\n id: Scalars['String']['input'];\n};\n\n\nexport type QueryUseAllowanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<UseAllowanceEventFilter>;\n};\n\n\nexport type QueryWalletArgs = {\n address: Scalars['String']['input'];\n};\n\n\nexport type QueryWalletsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<WalletFilter>;\n};\n\nexport type _Sucker = {\n address: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type _SuckerFilter = {\n AND?: InputMaybe<Array<InputMaybe<_SuckerFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<_SuckerFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type _SuckerPage = {\n items: Array<_Sucker>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ActivityEvent = {\n addToBalanceEvent: Maybe<AddToBalanceEvent>;\n autoIssueEvent: Maybe<AutoIssueEvent>;\n borrowLoanEvent: Maybe<BorrowLoanEvent>;\n burnEvent: Maybe<BurnEvent>;\n cashOutTokensEvent: Maybe<CashOutTokensEvent>;\n chainId: Scalars['Int']['output'];\n decorateBannyEvent: Maybe<DecorateBannyEvent>;\n deployErc20Event: Maybe<DeployErc20Event>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n liquidateLoanEvent: Maybe<LiquidateLoanEvent>;\n mintNftEvent: Maybe<MintNftEvent>;\n mintTokensEvent: Maybe<MintTokensEvent>;\n payEvent: Maybe<PayEvent>;\n project: Maybe<Project>;\n projectCreateEvent: Maybe<ProjectCreateEvent>;\n projectId: Scalars['Int']['output'];\n reallocateLoanEvent: Maybe<ReallocateLoanEvent>;\n repayLoanEvent: Maybe<RepayLoanEvent>;\n sendPayoutToSplitEvent: Maybe<SendPayoutToSplitEvent>;\n sendPayoutsEvent: Maybe<SendPayoutsEvent>;\n sendReservedTokensToSplitEvent: Maybe<SendReservedTokensToSplitEvent>;\n sendReservedTokensToSplitsEvent: Maybe<SendReservedTokensToSplitsEvent>;\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n type: Maybe<ActivityEventType>;\n useAllowanceEvent: Maybe<UseAllowanceEvent>;\n version: Scalars['Int']['output'];\n};\n\nexport type ActivityEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<ActivityEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ActivityEventFilter>>>;\n addToBalanceEvent?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_contains?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addToBalanceEvent_not?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addToBalanceEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n addToBalanceEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_contains?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n autoIssueEvent_not?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n autoIssueEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n autoIssueEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n borrowLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n borrowLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent?: InputMaybe<Scalars['String']['input']>;\n burnEvent_contains?: InputMaybe<Scalars['String']['input']>;\n burnEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n burnEvent_not?: InputMaybe<Scalars['String']['input']>;\n burnEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n burnEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n burnEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n burnEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_contains?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n cashOutTokensEvent_not?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n cashOutTokensEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n cashOutTokensEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n decorateBannyEvent?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_contains?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n decorateBannyEvent_not?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n decorateBannyEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n decorateBannyEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_contains?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployErc20Event_not?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_not_contains?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployErc20Event_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n deployErc20Event_starts_with?: InputMaybe<Scalars['String']['input']>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n liquidateLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n liquidateLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n liquidateLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_contains?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintNftEvent_not?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintNftEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintNftEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_contains?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTokensEvent_not?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTokensEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTokensEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n payEvent?: InputMaybe<Scalars['String']['input']>;\n payEvent_contains?: InputMaybe<Scalars['String']['input']>;\n payEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n payEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payEvent_not?: InputMaybe<Scalars['String']['input']>;\n payEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n payEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n payEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n payEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_contains?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectCreateEvent_not?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectCreateEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectCreateEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reallocateLoanEvent?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reallocateLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reallocateLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n reallocateLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_contains?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n repayLoanEvent_not?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n repayLoanEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n repayLoanEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutToSplitEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutToSplitEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutToSplitEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutsEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendPayoutsEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendPayoutsEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitsEvent_not?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sendReservedTokensToSplitsEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n sendReservedTokensToSplitsEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<ActivityEventType>;\n type_in?: InputMaybe<Array<InputMaybe<ActivityEventType>>>;\n type_not?: InputMaybe<ActivityEventType>;\n type_not_in?: InputMaybe<Array<InputMaybe<ActivityEventType>>>;\n useAllowanceEvent?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_contains?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_ends_with?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n useAllowanceEvent_not?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_not_contains?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n useAllowanceEvent_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n useAllowanceEvent_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type ActivityEventPage = {\n items: Array<ActivityEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport enum ActivityEventType {\n addToBalanceEvent = 'addToBalanceEvent',\n autoIssueEvent = 'autoIssueEvent',\n borrowLoanEvent = 'borrowLoanEvent',\n burnEvent = 'burnEvent',\n cashOutTokensEvent = 'cashOutTokensEvent',\n decorateBannyEvent = 'decorateBannyEvent',\n deployErc20Event = 'deployErc20Event',\n liquidateLoanEvent = 'liquidateLoanEvent',\n mintNftEvent = 'mintNftEvent',\n mintTokensEvent = 'mintTokensEvent',\n payEvent = 'payEvent',\n projectCreateEvent = 'projectCreateEvent',\n reallocateLoanEvent = 'reallocateLoanEvent',\n repayLoanEvent = 'repayLoanEvent',\n sendPayoutToSplitEvent = 'sendPayoutToSplitEvent',\n sendPayoutsEvent = 'sendPayoutsEvent',\n sendReservedTokensToSplitEvent = 'sendReservedTokensToSplitEvent',\n sendReservedTokensToSplitsEvent = 'sendReservedTokensToSplitsEvent',\n useAllowanceEvent = 'useAllowanceEvent'\n}\n\nexport type AddToBalanceEvent = {\n amount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n metadata: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n returnedFees: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type AddToBalanceEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<AddToBalanceEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<AddToBalanceEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadata?: InputMaybe<Scalars['String']['input']>;\n metadata_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not?: InputMaybe<Scalars['String']['input']>;\n metadata_not_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadata_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n returnedFees?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_gt?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_gte?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n returnedFees_lt?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_lte?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_not?: InputMaybe<Scalars['BigInt']['input']>;\n returnedFees_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type AddToBalanceEventPage = {\n items: Array<AddToBalanceEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type AutoIssueEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n count: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n stageId: Scalars['BigInt']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type AutoIssueEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<AutoIssueEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<AutoIssueEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n count?: InputMaybe<Scalars['BigInt']['input']>;\n count_gt?: InputMaybe<Scalars['BigInt']['input']>;\n count_gte?: InputMaybe<Scalars['BigInt']['input']>;\n count_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n count_lt?: InputMaybe<Scalars['BigInt']['input']>;\n count_lte?: InputMaybe<Scalars['BigInt']['input']>;\n count_not?: InputMaybe<Scalars['BigInt']['input']>;\n count_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n stageId?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n stageId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type AutoIssueEventPage = {\n items: Array<AutoIssueEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type BorrowLoanEvent = {\n beneficiary: Scalars['String']['output'];\n borrowAmount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n collateral: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n prepaidDuration: Scalars['Int']['output'];\n prepaidFeePercent: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n sourceFeeAmount: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n terminal: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n token: Scalars['String']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type BorrowLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<BorrowLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<BorrowLoanEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n borrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateral?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateral_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidDuration?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidDuration_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n sourceFeeAmount?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n sourceFeeAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n terminal?: InputMaybe<Scalars['String']['input']>;\n terminal_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not?: InputMaybe<Scalars['String']['input']>;\n terminal_not_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n terminal_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n token?: InputMaybe<Scalars['String']['input']>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type BorrowLoanEventPage = {\n items: Array<BorrowLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type BurnEvent = {\n amount: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n creditAmount: Scalars['BigInt']['output'];\n erc20Amount: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type BurnEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<BurnEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<BurnEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n creditAmount?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n creditAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n creditAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Amount?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type BurnEventPage = {\n items: Array<BurnEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type CashOutTokensEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n cashOutCount: Scalars['BigInt']['output'];\n cashOutTaxRate: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n holder: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n metadata: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n reclaimAmount: Scalars['BigInt']['output'];\n reclaimAmountUsd: Scalars['BigInt']['output'];\n rulesetCycleNumber: Scalars['BigInt']['output'];\n rulesetId: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type CashOutTokensEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<CashOutTokensEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<CashOutTokensEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n cashOutCount?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n cashOutCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n cashOutTaxRate?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_gt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_gte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n cashOutTaxRate_lt?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_lte?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_not?: InputMaybe<Scalars['BigInt']['input']>;\n cashOutTaxRate_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n holder?: InputMaybe<Scalars['String']['input']>;\n holder_contains?: InputMaybe<Scalars['String']['input']>;\n holder_ends_with?: InputMaybe<Scalars['String']['input']>;\n holder_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n holder_not?: InputMaybe<Scalars['String']['input']>;\n holder_not_contains?: InputMaybe<Scalars['String']['input']>;\n holder_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n holder_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n holder_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n holder_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n metadata?: InputMaybe<Scalars['String']['input']>;\n metadata_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not?: InputMaybe<Scalars['String']['input']>;\n metadata_not_contains?: InputMaybe<Scalars['String']['input']>;\n metadata_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadata_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadata_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadata_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reclaimAmount?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reclaimAmountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reclaimAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reclaimAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n reclaimAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetId?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_not?: InputMaybe<Scalars['BigInt']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type CashOutTokensEventPage = {\n items: Array<CashOutTokensEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type DecorateBannyEvent = {\n backgroundId: Maybe<Scalars['BigInt']['output']>;\n bannyBodyId: Scalars['BigInt']['output'];\n bannyNft: Maybe<Nft>;\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n outfitIds: Maybe<Array<Scalars['BigInt']['output']>>;\n timestamp: Scalars['Int']['output'];\n tokenUri: Maybe<Scalars['String']['output']>;\n tokenUriMetadata: Maybe<Scalars['JSON']['output']>;\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type DecorateBannyEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<DecorateBannyEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<DecorateBannyEventFilter>>>;\n backgroundId?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n backgroundId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_not?: InputMaybe<Scalars['BigInt']['input']>;\n backgroundId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n bannyBodyId?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n bannyBodyId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_not?: InputMaybe<Scalars['BigInt']['input']>;\n bannyBodyId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n outfitIds?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n outfitIds_has?: InputMaybe<Scalars['BigInt']['input']>;\n outfitIds_not?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n outfitIds_not_has?: InputMaybe<Scalars['BigInt']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenUri?: InputMaybe<Scalars['String']['input']>;\n tokenUri_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type DecorateBannyEventPage = {\n items: Array<DecorateBannyEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type DeployErc20Event = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n name: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n symbol: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n token: Scalars['String']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type DeployErc20EventFilter = {\n AND?: InputMaybe<Array<InputMaybe<DeployErc20EventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<DeployErc20EventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not?: InputMaybe<Scalars['String']['input']>;\n name_not_contains?: InputMaybe<Scalars['String']['input']>;\n name_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n name_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n symbol?: InputMaybe<Scalars['String']['input']>;\n symbol_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not?: InputMaybe<Scalars['String']['input']>;\n symbol_not_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n symbol_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n token?: InputMaybe<Scalars['String']['input']>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type DeployErc20EventPage = {\n items: Array<DeployErc20Event>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type LiquidateLoanEvent = {\n borrowAmount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n collateral: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type LiquidateLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<LiquidateLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<LiquidateLoanEventFilter>>>;\n borrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n borrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateral?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateral_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type LiquidateLoanEventPage = {\n items: Array<LiquidateLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Loan = {\n beneficiary: Scalars['String']['output'];\n borrowAmount: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n collateral: Scalars['BigInt']['output'];\n createdAt: Scalars['Int']['output'];\n id: Scalars['BigInt']['output'];\n owner: Scalars['String']['output'];\n prepaidDuration: Scalars['Int']['output'];\n prepaidFeePercent: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n sourceFeeAmount: Scalars['BigInt']['output'];\n terminal: Scalars['String']['output'];\n token: Scalars['String']['output'];\n tokenUri: Maybe<Scalars['String']['output']>;\n version: Scalars['Int']['output'];\n};\n\nexport type LoanFilter = {\n AND?: InputMaybe<Array<InputMaybe<LoanFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<LoanFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n borrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n borrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n borrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateral?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateral_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateral_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n id?: InputMaybe<Scalars['BigInt']['input']>;\n id_gt?: InputMaybe<Scalars['BigInt']['input']>;\n id_gte?: InputMaybe<Scalars['BigInt']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n id_lt?: InputMaybe<Scalars['BigInt']['input']>;\n id_lte?: InputMaybe<Scalars['BigInt']['input']>;\n id_not?: InputMaybe<Scalars['BigInt']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n prepaidDuration?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidDuration_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidDuration_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_gte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n prepaidFeePercent_lt?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_lte?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not?: InputMaybe<Scalars['Int']['input']>;\n prepaidFeePercent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n sourceFeeAmount?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n sourceFeeAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n sourceFeeAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n terminal?: InputMaybe<Scalars['String']['input']>;\n terminal_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not?: InputMaybe<Scalars['String']['input']>;\n terminal_not_contains?: InputMaybe<Scalars['String']['input']>;\n terminal_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n terminal_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n terminal_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n terminal_starts_with?: InputMaybe<Scalars['String']['input']>;\n token?: InputMaybe<Scalars['String']['input']>;\n tokenUri?: InputMaybe<Scalars['String']['input']>;\n tokenUri_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type LoanPage = {\n items: Array<Loan>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type MintNftEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n hook: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n nft: Maybe<Nft>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n tier: Maybe<NftTier>;\n tierId: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n tokenId: Scalars['BigInt']['output'];\n totalAmountPaid: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type MintNftEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<MintNftEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<MintNftEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n tierId?: InputMaybe<Scalars['Int']['input']>;\n tierId_gt?: InputMaybe<Scalars['Int']['input']>;\n tierId_gte?: InputMaybe<Scalars['Int']['input']>;\n tierId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId_lt?: InputMaybe<Scalars['Int']['input']>;\n tierId_lte?: InputMaybe<Scalars['Int']['input']>;\n tierId_not?: InputMaybe<Scalars['Int']['input']>;\n tierId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenId?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n totalAmountPaid?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_gt?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_gte?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n totalAmountPaid_lt?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_lte?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_not?: InputMaybe<Scalars['BigInt']['input']>;\n totalAmountPaid_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type MintNftEventPage = {\n items: Array<MintNftEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type MintTokensEvent = {\n beneficiary: Scalars['String']['output'];\n beneficiaryTokenCount: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n reservedPercent: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenCount: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type MintTokensEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<MintTokensEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<MintTokensEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiaryTokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiaryTokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n beneficiaryTokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reservedPercent?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reservedPercent_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_not?: InputMaybe<Scalars['BigInt']['input']>;\n reservedPercent_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type MintTokensEventPage = {\n items: Array<MintTokensEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Nft = {\n category: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n customized: Maybe<Scalars['Boolean']['output']>;\n customizedAt: Scalars['Int']['output'];\n hook: Maybe<NftHook>;\n metadata: Maybe<Scalars['JSON']['output']>;\n mintTx: Scalars['String']['output'];\n owner: Maybe<Participant>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n tier: Maybe<NftTier>;\n tierId: Scalars['Int']['output'];\n tokenId: Scalars['BigInt']['output'];\n tokenUri: Maybe<Scalars['String']['output']>;\n version: Scalars['Int']['output'];\n wallet: Maybe<Wallet>;\n};\n\nexport type NftFilter = {\n AND?: InputMaybe<Array<InputMaybe<NftFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<NftFilter>>>;\n category?: InputMaybe<Scalars['Int']['input']>;\n category_gt?: InputMaybe<Scalars['Int']['input']>;\n category_gte?: InputMaybe<Scalars['Int']['input']>;\n category_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n category_lt?: InputMaybe<Scalars['Int']['input']>;\n category_lte?: InputMaybe<Scalars['Int']['input']>;\n category_not?: InputMaybe<Scalars['Int']['input']>;\n category_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n customized?: InputMaybe<Scalars['Boolean']['input']>;\n customizedAt?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_gt?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_gte?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n customizedAt_lt?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_lte?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_not?: InputMaybe<Scalars['Int']['input']>;\n customizedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n customized_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n customized_not?: InputMaybe<Scalars['Boolean']['input']>;\n customized_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTx?: InputMaybe<Scalars['String']['input']>;\n mintTx_contains?: InputMaybe<Scalars['String']['input']>;\n mintTx_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTx_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTx_not?: InputMaybe<Scalars['String']['input']>;\n mintTx_not_contains?: InputMaybe<Scalars['String']['input']>;\n mintTx_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n mintTx_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mintTx_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n mintTx_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId?: InputMaybe<Scalars['Int']['input']>;\n tierId_gt?: InputMaybe<Scalars['Int']['input']>;\n tierId_gte?: InputMaybe<Scalars['Int']['input']>;\n tierId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId_lt?: InputMaybe<Scalars['Int']['input']>;\n tierId_lte?: InputMaybe<Scalars['Int']['input']>;\n tierId_not?: InputMaybe<Scalars['Int']['input']>;\n tierId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenId?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenUri?: InputMaybe<Scalars['String']['input']>;\n tokenUri_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokenUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokenUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type NftHook = {\n address: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n name: Maybe<Scalars['String']['output']>;\n nftTiers: Maybe<NftTierPage>;\n nfts: Maybe<NftPage>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n symbol: Maybe<Scalars['String']['output']>;\n version: Scalars['Int']['output'];\n};\n\n\nexport type NftHookNftTiersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftTierFilter>;\n};\n\n\nexport type NftHookNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\nexport type NftHookFilter = {\n AND?: InputMaybe<Array<InputMaybe<NftHookFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<NftHookFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not?: InputMaybe<Scalars['String']['input']>;\n name_not_contains?: InputMaybe<Scalars['String']['input']>;\n name_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n name_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n symbol?: InputMaybe<Scalars['String']['input']>;\n symbol_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not?: InputMaybe<Scalars['String']['input']>;\n symbol_not_contains?: InputMaybe<Scalars['String']['input']>;\n symbol_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n symbol_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n symbol_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n symbol_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type NftHookPage = {\n items: Array<NftHook>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type NftPage = {\n items: Array<Nft>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type NftTier = {\n allowOwnerMint: Maybe<Scalars['Boolean']['output']>;\n cannotBeRemoved: Maybe<Scalars['Boolean']['output']>;\n category: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n encodedIpfsUri: Maybe<Scalars['String']['output']>;\n hook: Maybe<NftHook>;\n initialSupply: Scalars['Int']['output'];\n metadata: Maybe<Scalars['JSON']['output']>;\n nfts: Maybe<NftPage>;\n price: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n remainingSupply: Scalars['Int']['output'];\n reserveBeneficiary: Maybe<Scalars['String']['output']>;\n reserveFrequency: Maybe<Scalars['Int']['output']>;\n resolvedUri: Maybe<Scalars['String']['output']>;\n svg: Maybe<Scalars['String']['output']>;\n tierId: Scalars['Int']['output'];\n transfersPausable: Maybe<Scalars['Boolean']['output']>;\n version: Scalars['Int']['output'];\n votingUnits: Maybe<Scalars['BigInt']['output']>;\n};\n\n\nexport type NftTierNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\nexport type NftTierFilter = {\n AND?: InputMaybe<Array<InputMaybe<NftTierFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<NftTierFilter>>>;\n allowOwnerMint?: InputMaybe<Scalars['Boolean']['input']>;\n allowOwnerMint_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n allowOwnerMint_not?: InputMaybe<Scalars['Boolean']['input']>;\n allowOwnerMint_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n cannotBeRemoved?: InputMaybe<Scalars['Boolean']['input']>;\n cannotBeRemoved_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n cannotBeRemoved_not?: InputMaybe<Scalars['Boolean']['input']>;\n cannotBeRemoved_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n category?: InputMaybe<Scalars['Int']['input']>;\n category_gt?: InputMaybe<Scalars['Int']['input']>;\n category_gte?: InputMaybe<Scalars['Int']['input']>;\n category_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n category_lt?: InputMaybe<Scalars['Int']['input']>;\n category_lte?: InputMaybe<Scalars['Int']['input']>;\n category_not?: InputMaybe<Scalars['Int']['input']>;\n category_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n encodedIpfsUri?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_contains?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n encodedIpfsUri_not?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n encodedIpfsUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n encodedIpfsUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n initialSupply?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_gt?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_gte?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n initialSupply_lt?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_lte?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_not?: InputMaybe<Scalars['Int']['input']>;\n initialSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n price?: InputMaybe<Scalars['BigInt']['input']>;\n price_gt?: InputMaybe<Scalars['BigInt']['input']>;\n price_gte?: InputMaybe<Scalars['BigInt']['input']>;\n price_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n price_lt?: InputMaybe<Scalars['BigInt']['input']>;\n price_lte?: InputMaybe<Scalars['BigInt']['input']>;\n price_not?: InputMaybe<Scalars['BigInt']['input']>;\n price_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n remainingSupply?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_gt?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_gte?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n remainingSupply_lt?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_lte?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_not?: InputMaybe<Scalars['Int']['input']>;\n remainingSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reserveBeneficiary?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reserveBeneficiary_not?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n reserveBeneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n reserveBeneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n reserveFrequency?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_gt?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_gte?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reserveFrequency_lt?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_lte?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_not?: InputMaybe<Scalars['Int']['input']>;\n reserveFrequency_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n resolvedUri?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_contains?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n resolvedUri_not?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n resolvedUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n resolvedUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n svg?: InputMaybe<Scalars['String']['input']>;\n svg_contains?: InputMaybe<Scalars['String']['input']>;\n svg_ends_with?: InputMaybe<Scalars['String']['input']>;\n svg_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n svg_not?: InputMaybe<Scalars['String']['input']>;\n svg_not_contains?: InputMaybe<Scalars['String']['input']>;\n svg_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n svg_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n svg_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n svg_starts_with?: InputMaybe<Scalars['String']['input']>;\n tierId?: InputMaybe<Scalars['Int']['input']>;\n tierId_gt?: InputMaybe<Scalars['Int']['input']>;\n tierId_gte?: InputMaybe<Scalars['Int']['input']>;\n tierId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tierId_lt?: InputMaybe<Scalars['Int']['input']>;\n tierId_lte?: InputMaybe<Scalars['Int']['input']>;\n tierId_not?: InputMaybe<Scalars['Int']['input']>;\n tierId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n transfersPausable?: InputMaybe<Scalars['Boolean']['input']>;\n transfersPausable_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n transfersPausable_not?: InputMaybe<Scalars['Boolean']['input']>;\n transfersPausable_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n votingUnits?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_gt?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_gte?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n votingUnits_lt?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_lte?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_not?: InputMaybe<Scalars['BigInt']['input']>;\n votingUnits_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type NftTierPage = {\n items: Array<NftTier>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Participant = {\n address: Scalars['String']['output'];\n balance: Scalars['BigInt']['output'];\n chainId: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n creditBalance: Scalars['BigInt']['output'];\n erc20Balance: Scalars['BigInt']['output'];\n isRevnet: Maybe<Scalars['Boolean']['output']>;\n lastPaidTimestamp: Scalars['Int']['output'];\n nfts: Maybe<NftPage>;\n paymentsCount: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupId: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n wallet: Maybe<Wallet>;\n};\n\n\nexport type ParticipantNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\nexport type ParticipantFilter = {\n AND?: InputMaybe<Array<InputMaybe<ParticipantFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ParticipantFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n creditBalance?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n creditBalance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n isRevnet?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n isRevnet_not?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n lastPaidTimestamp?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n lastPaidTimestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ParticipantPage = {\n items: Array<Participant>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ParticipantSnapshot = {\n address: Scalars['String']['output'];\n balance: Scalars['BigInt']['output'];\n block: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n creditBalance: Scalars['BigInt']['output'];\n erc20Balance: Scalars['BigInt']['output'];\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\nexport type ParticipantSnapshotFilter = {\n AND?: InputMaybe<Array<InputMaybe<ParticipantSnapshotFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ParticipantSnapshotFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n block?: InputMaybe<Scalars['Int']['input']>;\n block_gt?: InputMaybe<Scalars['Int']['input']>;\n block_gte?: InputMaybe<Scalars['Int']['input']>;\n block_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n block_lt?: InputMaybe<Scalars['Int']['input']>;\n block_lte?: InputMaybe<Scalars['Int']['input']>;\n block_not?: InputMaybe<Scalars['Int']['input']>;\n block_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n creditBalance?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n creditBalance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not?: InputMaybe<Scalars['BigInt']['input']>;\n creditBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n erc20Balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n erc20Balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ParticipantSnapshotPage = {\n items: Array<ParticipantSnapshot>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type PayEvent = {\n amount: Scalars['BigInt']['output'];\n amountUsd: Scalars['BigInt']['output'];\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n distributionFromProjectId: Maybe<Scalars['Int']['output']>;\n feeFromProject: Maybe<Scalars['Int']['output']>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n newlyIssuedTokenCount: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type PayEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<PayEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<PayEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n distributionFromProjectId?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_gt?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_gte?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n distributionFromProjectId_lt?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_lte?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_not?: InputMaybe<Scalars['Int']['input']>;\n distributionFromProjectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n feeFromProject?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_gt?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_gte?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n feeFromProject_lt?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_lte?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_not?: InputMaybe<Scalars['Int']['input']>;\n feeFromProject_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n newlyIssuedTokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n newlyIssuedTokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n newlyIssuedTokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type PayEventPage = {\n items: Array<PayEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type PermissionHolder = {\n account: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n operator: Scalars['String']['output'];\n permissions: Maybe<Array<Scalars['Int']['output']>>;\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type PermissionHolderFilter = {\n AND?: InputMaybe<Array<InputMaybe<PermissionHolderFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<PermissionHolderFilter>>>;\n account?: InputMaybe<Scalars['String']['input']>;\n account_contains?: InputMaybe<Scalars['String']['input']>;\n account_ends_with?: InputMaybe<Scalars['String']['input']>;\n account_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n account_not?: InputMaybe<Scalars['String']['input']>;\n account_not_contains?: InputMaybe<Scalars['String']['input']>;\n account_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n account_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n account_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n account_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n operator?: InputMaybe<Scalars['String']['input']>;\n operator_contains?: InputMaybe<Scalars['String']['input']>;\n operator_ends_with?: InputMaybe<Scalars['String']['input']>;\n operator_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n operator_not?: InputMaybe<Scalars['String']['input']>;\n operator_not_contains?: InputMaybe<Scalars['String']['input']>;\n operator_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n operator_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n operator_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n operator_starts_with?: InputMaybe<Scalars['String']['input']>;\n permissions?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n permissions_has?: InputMaybe<Scalars['Int']['input']>;\n permissions_not?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n permissions_not_has?: InputMaybe<Scalars['Int']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type PermissionHolderPage = {\n items: Array<PermissionHolder>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Project = {\n activityEvents: Maybe<ActivityEventPage>;\n addToBalanceEvents: Maybe<AddToBalanceEventPage>;\n autoIssueEvents: Maybe<AutoIssueEventPage>;\n balance: Scalars['BigInt']['output'];\n borrowLoanEvents: Maybe<BorrowLoanEventPage>;\n burnEvents: Maybe<BurnEventPage>;\n cashOutTokensEvents: Maybe<CashOutTokensEventPage>;\n chainId: Scalars['Int']['output'];\n contributorsCount: Scalars['Int']['output'];\n coverImageUri: Maybe<Scalars['String']['output']>;\n createdAt: Scalars['Int']['output'];\n createdWithinTrendingWindow: Maybe<Scalars['Boolean']['output']>;\n creator: Scalars['String']['output'];\n currency: Maybe<Scalars['BigInt']['output']>;\n decimals: Maybe<Scalars['Int']['output']>;\n deployErc20Events: Maybe<DeployErc20EventPage>;\n deployer: Scalars['String']['output'];\n description: Maybe<Scalars['String']['output']>;\n discord: Maybe<Scalars['String']['output']>;\n domain: Maybe<Scalars['String']['output']>;\n handle: Maybe<Scalars['String']['output']>;\n id: Scalars['String']['output'];\n infoUri: Maybe<Scalars['String']['output']>;\n isRevnet: Maybe<Scalars['Boolean']['output']>;\n liquidateLoanEvents: Maybe<LiquidateLoanEventPage>;\n logoUri: Maybe<Scalars['String']['output']>;\n metadata: Maybe<Scalars['JSON']['output']>;\n metadataUri: Maybe<Scalars['String']['output']>;\n mintNftEvents: Maybe<MintNftEventPage>;\n mintTokensEvents: Maybe<MintTokensEventPage>;\n name: Maybe<Scalars['String']['output']>;\n nftHooks: Maybe<NftHookPage>;\n nfts: Maybe<NftPage>;\n nftsMintedCount: Scalars['Int']['output'];\n owner: Scalars['String']['output'];\n participants: Maybe<ParticipantPage>;\n payDisclosure: Maybe<Scalars['String']['output']>;\n payEvents: Maybe<PayEventPage>;\n paymentsCount: Scalars['Int']['output'];\n permissionHolders: Maybe<PermissionHolderPage>;\n projectCreateEvents: Maybe<ProjectCreateEventPage>;\n projectId: Scalars['Int']['output'];\n projectMoments: Maybe<ProjectMomentPage>;\n projectTagline: Maybe<Scalars['String']['output']>;\n reallocateLoanEvents: Maybe<ReallocateLoanEventPage>;\n redeemCount: Scalars['Int']['output'];\n redeemVolume: Scalars['BigInt']['output'];\n redeemVolumeUsd: Scalars['BigInt']['output'];\n repayLoanEvents: Maybe<RepayLoanEventPage>;\n sendPayoutToSplitEvents: Maybe<SendPayoutToSplitEventPage>;\n sendPayoutsEvents: Maybe<SendPayoutsEventPage>;\n sendReservedTokensToSplitEvents: Maybe<SendReservedTokensToSplitEventPage>;\n sendReservedTokensToSplitsEvents: Maybe<SendReservedTokensToSplitsEventPage>;\n storeAutoIssuanceAmountEvent: Maybe<StoreAutoIssuanceAmountEventPage>;\n suckerGroup: Maybe<SuckerGroup>;\n suckerGroupId: Scalars['String']['output'];\n tags: Maybe<Array<Scalars['String']['output']>>;\n telegram: Maybe<Scalars['String']['output']>;\n token: Maybe<Scalars['String']['output']>;\n tokenSupply: Scalars['BigInt']['output'];\n tokens: Maybe<Array<Scalars['String']['output']>>;\n trendingPaymentsCount: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n trendingVolume: Scalars['BigInt']['output'];\n trendingVolumeUsd: Scalars['BigInt']['output'];\n twitter: Maybe<Scalars['String']['output']>;\n useAllowanceEvents: Maybe<UseAllowanceEventPage>;\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\n\nexport type ProjectActivityEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ActivityEventFilter>;\n};\n\n\nexport type ProjectAddToBalanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AddToBalanceEventFilter>;\n};\n\n\nexport type ProjectAutoIssueEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<AutoIssueEventFilter>;\n};\n\n\nexport type ProjectBorrowLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BorrowLoanEventFilter>;\n};\n\n\nexport type ProjectBurnEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<BurnEventFilter>;\n};\n\n\nexport type ProjectCashOutTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<CashOutTokensEventFilter>;\n};\n\n\nexport type ProjectDeployErc20EventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<DeployErc20EventFilter>;\n};\n\n\nexport type ProjectLiquidateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<LiquidateLoanEventFilter>;\n};\n\n\nexport type ProjectMintNftEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintNftEventFilter>;\n};\n\n\nexport type ProjectMintTokensEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<MintTokensEventFilter>;\n};\n\n\nexport type ProjectNftHooksArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftHookFilter>;\n};\n\n\nexport type ProjectNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\n\nexport type ProjectParticipantsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantFilter>;\n};\n\n\nexport type ProjectPayEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PayEventFilter>;\n};\n\n\nexport type ProjectPermissionHoldersArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<PermissionHolderFilter>;\n};\n\n\nexport type ProjectProjectCreateEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectCreateEventFilter>;\n};\n\n\nexport type ProjectProjectMomentsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectMomentFilter>;\n};\n\n\nexport type ProjectReallocateLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ReallocateLoanEventFilter>;\n};\n\n\nexport type ProjectRepayLoanEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<RepayLoanEventFilter>;\n};\n\n\nexport type ProjectSendPayoutToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutToSplitEventFilter>;\n};\n\n\nexport type ProjectSendPayoutsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendPayoutsEventFilter>;\n};\n\n\nexport type ProjectSendReservedTokensToSplitEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitEventFilter>;\n};\n\n\nexport type ProjectSendReservedTokensToSplitsEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<SendReservedTokensToSplitsEventFilter>;\n};\n\n\nexport type ProjectStoreAutoIssuanceAmountEventArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<StoreAutoIssuanceAmountEventFilter>;\n};\n\n\nexport type ProjectUseAllowanceEventsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<UseAllowanceEventFilter>;\n};\n\nexport type ProjectCreateEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type ProjectCreateEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<ProjectCreateEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ProjectCreateEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type ProjectCreateEventPage = {\n items: Array<ProjectCreateEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ProjectFilter = {\n AND?: InputMaybe<Array<InputMaybe<ProjectFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ProjectFilter>>>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n coverImageUri?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_contains?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n coverImageUri_not?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n coverImageUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n coverImageUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdWithinTrendingWindow?: InputMaybe<Scalars['Boolean']['input']>;\n createdWithinTrendingWindow_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n createdWithinTrendingWindow_not?: InputMaybe<Scalars['Boolean']['input']>;\n createdWithinTrendingWindow_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n creator?: InputMaybe<Scalars['String']['input']>;\n creator_contains?: InputMaybe<Scalars['String']['input']>;\n creator_ends_with?: InputMaybe<Scalars['String']['input']>;\n creator_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n creator_not?: InputMaybe<Scalars['String']['input']>;\n creator_not_contains?: InputMaybe<Scalars['String']['input']>;\n creator_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n creator_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n creator_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n creator_starts_with?: InputMaybe<Scalars['String']['input']>;\n currency?: InputMaybe<Scalars['BigInt']['input']>;\n currency_gt?: InputMaybe<Scalars['BigInt']['input']>;\n currency_gte?: InputMaybe<Scalars['BigInt']['input']>;\n currency_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n currency_lt?: InputMaybe<Scalars['BigInt']['input']>;\n currency_lte?: InputMaybe<Scalars['BigInt']['input']>;\n currency_not?: InputMaybe<Scalars['BigInt']['input']>;\n currency_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n decimals?: InputMaybe<Scalars['Int']['input']>;\n decimals_gt?: InputMaybe<Scalars['Int']['input']>;\n decimals_gte?: InputMaybe<Scalars['Int']['input']>;\n decimals_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n decimals_lt?: InputMaybe<Scalars['Int']['input']>;\n decimals_lte?: InputMaybe<Scalars['Int']['input']>;\n decimals_not?: InputMaybe<Scalars['Int']['input']>;\n decimals_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n deployer?: InputMaybe<Scalars['String']['input']>;\n deployer_contains?: InputMaybe<Scalars['String']['input']>;\n deployer_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployer_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployer_not?: InputMaybe<Scalars['String']['input']>;\n deployer_not_contains?: InputMaybe<Scalars['String']['input']>;\n deployer_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n deployer_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n deployer_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n deployer_starts_with?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n description_contains?: InputMaybe<Scalars['String']['input']>;\n description_ends_with?: InputMaybe<Scalars['String']['input']>;\n description_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n description_not?: InputMaybe<Scalars['String']['input']>;\n description_not_contains?: InputMaybe<Scalars['String']['input']>;\n description_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n description_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n description_starts_with?: InputMaybe<Scalars['String']['input']>;\n discord?: InputMaybe<Scalars['String']['input']>;\n discord_contains?: InputMaybe<Scalars['String']['input']>;\n discord_ends_with?: InputMaybe<Scalars['String']['input']>;\n discord_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n discord_not?: InputMaybe<Scalars['String']['input']>;\n discord_not_contains?: InputMaybe<Scalars['String']['input']>;\n discord_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n discord_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n discord_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n discord_starts_with?: InputMaybe<Scalars['String']['input']>;\n domain?: InputMaybe<Scalars['String']['input']>;\n domain_contains?: InputMaybe<Scalars['String']['input']>;\n domain_ends_with?: InputMaybe<Scalars['String']['input']>;\n domain_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n domain_not?: InputMaybe<Scalars['String']['input']>;\n domain_not_contains?: InputMaybe<Scalars['String']['input']>;\n domain_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n domain_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n domain_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n domain_starts_with?: InputMaybe<Scalars['String']['input']>;\n handle?: InputMaybe<Scalars['String']['input']>;\n handle_contains?: InputMaybe<Scalars['String']['input']>;\n handle_ends_with?: InputMaybe<Scalars['String']['input']>;\n handle_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n handle_not?: InputMaybe<Scalars['String']['input']>;\n handle_not_contains?: InputMaybe<Scalars['String']['input']>;\n handle_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n handle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n handle_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n handle_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n infoUri?: InputMaybe<Scalars['String']['input']>;\n infoUri_contains?: InputMaybe<Scalars['String']['input']>;\n infoUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n infoUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n infoUri_not?: InputMaybe<Scalars['String']['input']>;\n infoUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n infoUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n infoUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n infoUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n infoUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n isRevnet?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n isRevnet_not?: InputMaybe<Scalars['Boolean']['input']>;\n isRevnet_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n logoUri?: InputMaybe<Scalars['String']['input']>;\n logoUri_contains?: InputMaybe<Scalars['String']['input']>;\n logoUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n logoUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n logoUri_not?: InputMaybe<Scalars['String']['input']>;\n logoUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n logoUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n logoUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n logoUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n logoUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri?: InputMaybe<Scalars['String']['input']>;\n metadataUri_contains?: InputMaybe<Scalars['String']['input']>;\n metadataUri_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadataUri_not?: InputMaybe<Scalars['String']['input']>;\n metadataUri_not_contains?: InputMaybe<Scalars['String']['input']>;\n metadataUri_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n metadataUri_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n metadataUri_starts_with?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not?: InputMaybe<Scalars['String']['input']>;\n name_not_contains?: InputMaybe<Scalars['String']['input']>;\n name_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n name_starts_with?: InputMaybe<Scalars['String']['input']>;\n nftsMintedCount?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount_lt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_lte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_contains?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_ends_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payDisclosure_not?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_not_contains?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n payDisclosure_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n payDisclosure_starts_with?: InputMaybe<Scalars['String']['input']>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectTagline?: InputMaybe<Scalars['String']['input']>;\n projectTagline_contains?: InputMaybe<Scalars['String']['input']>;\n projectTagline_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectTagline_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectTagline_not?: InputMaybe<Scalars['String']['input']>;\n projectTagline_not_contains?: InputMaybe<Scalars['String']['input']>;\n projectTagline_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n projectTagline_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projectTagline_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectTagline_starts_with?: InputMaybe<Scalars['String']['input']>;\n redeemCount?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount_lt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_lte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemVolume?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tags_has?: InputMaybe<Scalars['String']['input']>;\n tags_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tags_not_has?: InputMaybe<Scalars['String']['input']>;\n telegram?: InputMaybe<Scalars['String']['input']>;\n telegram_contains?: InputMaybe<Scalars['String']['input']>;\n telegram_ends_with?: InputMaybe<Scalars['String']['input']>;\n telegram_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n telegram_not?: InputMaybe<Scalars['String']['input']>;\n telegram_not_contains?: InputMaybe<Scalars['String']['input']>;\n telegram_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n telegram_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n telegram_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n telegram_starts_with?: InputMaybe<Scalars['String']['input']>;\n token?: InputMaybe<Scalars['String']['input']>;\n tokenSupply?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n token_contains?: InputMaybe<Scalars['String']['input']>;\n token_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not?: InputMaybe<Scalars['String']['input']>;\n token_not_contains?: InputMaybe<Scalars['String']['input']>;\n token_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n token_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n token_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n token_starts_with?: InputMaybe<Scalars['String']['input']>;\n tokens?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokens_has?: InputMaybe<Scalars['String']['input']>;\n tokens_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n tokens_not_has?: InputMaybe<Scalars['String']['input']>;\n trendingPaymentsCount?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingPaymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n twitter?: InputMaybe<Scalars['String']['input']>;\n twitter_contains?: InputMaybe<Scalars['String']['input']>;\n twitter_ends_with?: InputMaybe<Scalars['String']['input']>;\n twitter_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n twitter_not?: InputMaybe<Scalars['String']['input']>;\n twitter_not_contains?: InputMaybe<Scalars['String']['input']>;\n twitter_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n twitter_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n twitter_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n twitter_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ProjectMoment = {\n balance: Scalars['BigInt']['output'];\n block: Scalars['Int']['output'];\n chainId: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\nexport type ProjectMomentFilter = {\n AND?: InputMaybe<Array<InputMaybe<ProjectMomentFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ProjectMomentFilter>>>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n block?: InputMaybe<Scalars['Int']['input']>;\n block_gt?: InputMaybe<Scalars['Int']['input']>;\n block_gte?: InputMaybe<Scalars['Int']['input']>;\n block_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n block_lt?: InputMaybe<Scalars['Int']['input']>;\n block_lte?: InputMaybe<Scalars['Int']['input']>;\n block_not?: InputMaybe<Scalars['Int']['input']>;\n block_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type ProjectMomentPage = {\n items: Array<ProjectMoment>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ProjectPage = {\n items: Array<Project>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ReallocateLoanEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n loanId: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n reallocatedLoanId: Scalars['BigInt']['output'];\n removedCollateralCount: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type ReallocateLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<ReallocateLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<ReallocateLoanEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n loanId?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n loanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n reallocatedLoanId?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n reallocatedLoanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n reallocatedLoanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n removedCollateralCount?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n removedCollateralCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n removedCollateralCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type ReallocateLoanEventPage = {\n items: Array<ReallocateLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type RepayLoanEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n collateralCountToReturn: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n loanId: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n paidOffLoanId: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n repayBorrowAmount: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type RepayLoanEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<RepayLoanEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<RepayLoanEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n collateralCountToReturn?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_gt?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_gte?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n collateralCountToReturn_lt?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_lte?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_not?: InputMaybe<Scalars['BigInt']['input']>;\n collateralCountToReturn_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n loanId?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n loanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n loanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paidOffLoanId?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n paidOffLoanId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_not?: InputMaybe<Scalars['BigInt']['input']>;\n paidOffLoanId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n repayBorrowAmount?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n repayBorrowAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n repayBorrowAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type RepayLoanEventPage = {\n items: Array<RepayLoanEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendPayoutToSplitEvent = {\n amount: Scalars['BigInt']['output'];\n amountUsd: Scalars['BigInt']['output'];\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n group: Scalars['BigInt']['output'];\n hook: Scalars['String']['output'];\n id: Scalars['String']['output'];\n lockedUntil: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n netAmount: Scalars['BigInt']['output'];\n percent: Scalars['Int']['output'];\n preferAddToBalance: Scalars['Boolean']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n splitProjectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendPayoutToSplitEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendPayoutToSplitEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendPayoutToSplitEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n group?: InputMaybe<Scalars['BigInt']['input']>;\n group_gt?: InputMaybe<Scalars['BigInt']['input']>;\n group_gte?: InputMaybe<Scalars['BigInt']['input']>;\n group_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n group_lt?: InputMaybe<Scalars['BigInt']['input']>;\n group_lte?: InputMaybe<Scalars['BigInt']['input']>;\n group_not?: InputMaybe<Scalars['BigInt']['input']>;\n group_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n lockedUntil?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n lockedUntil_lt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_lte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n netAmount?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n netAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n netAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n percent?: InputMaybe<Scalars['Int']['input']>;\n percent_gt?: InputMaybe<Scalars['Int']['input']>;\n percent_gte?: InputMaybe<Scalars['Int']['input']>;\n percent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n percent_lt?: InputMaybe<Scalars['Int']['input']>;\n percent_lte?: InputMaybe<Scalars['Int']['input']>;\n percent_not?: InputMaybe<Scalars['Int']['input']>;\n percent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n preferAddToBalance?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n preferAddToBalance_not?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId_lt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_lte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendPayoutToSplitEventPage = {\n items: Array<SendPayoutToSplitEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendPayoutsEvent = {\n amount: Scalars['BigInt']['output'];\n amountPaidOut: Scalars['BigInt']['output'];\n amountPaidOutUsd: Scalars['BigInt']['output'];\n amountUsd: Scalars['BigInt']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n fee: Scalars['BigInt']['output'];\n feeUsd: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n netLeftoverPayoutAmount: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetCycleNumber: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendPayoutsEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendPayoutsEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendPayoutsEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOutUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOutUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOut_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOut_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n fee?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n feeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n feeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n fee_gt?: InputMaybe<Scalars['BigInt']['input']>;\n fee_gte?: InputMaybe<Scalars['BigInt']['input']>;\n fee_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n fee_lt?: InputMaybe<Scalars['BigInt']['input']>;\n fee_lte?: InputMaybe<Scalars['BigInt']['input']>;\n fee_not?: InputMaybe<Scalars['BigInt']['input']>;\n fee_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n netLeftoverPayoutAmount?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n netLeftoverPayoutAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n netLeftoverPayoutAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendPayoutsEventPage = {\n items: Array<SendPayoutsEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n groupId: Scalars['BigInt']['output'];\n hook: Scalars['String']['output'];\n id: Scalars['String']['output'];\n lockedUntil: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n percent: Scalars['Int']['output'];\n preferAddToBalance: Scalars['Boolean']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n splitProjectId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenCount: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n groupId?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n groupId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_not?: InputMaybe<Scalars['BigInt']['input']>;\n groupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n hook?: InputMaybe<Scalars['String']['input']>;\n hook_contains?: InputMaybe<Scalars['String']['input']>;\n hook_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not?: InputMaybe<Scalars['String']['input']>;\n hook_not_contains?: InputMaybe<Scalars['String']['input']>;\n hook_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n hook_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n hook_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n hook_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n lockedUntil?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_gte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n lockedUntil_lt?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_lte?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not?: InputMaybe<Scalars['BigInt']['input']>;\n lockedUntil_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n percent?: InputMaybe<Scalars['Int']['input']>;\n percent_gt?: InputMaybe<Scalars['Int']['input']>;\n percent_gte?: InputMaybe<Scalars['Int']['input']>;\n percent_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n percent_lt?: InputMaybe<Scalars['Int']['input']>;\n percent_lte?: InputMaybe<Scalars['Int']['input']>;\n percent_not?: InputMaybe<Scalars['Int']['input']>;\n percent_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n preferAddToBalance?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n preferAddToBalance_not?: InputMaybe<Scalars['Boolean']['input']>;\n preferAddToBalance_not_in?: InputMaybe<Array<InputMaybe<Scalars['Boolean']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_gte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n splitProjectId_lt?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_lte?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not?: InputMaybe<Scalars['Int']['input']>;\n splitProjectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendReservedTokensToSplitEventPage = {\n items: Array<SendReservedTokensToSplitEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitsEvent = {\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n leftoverAmount: Scalars['BigInt']['output'];\n logIndex: Scalars['Int']['output'];\n owner: Scalars['String']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetCycleNumber: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenCount: Scalars['BigInt']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type SendReservedTokensToSplitsEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitsEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SendReservedTokensToSplitsEventFilter>>>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n leftoverAmount?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n leftoverAmount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_not?: InputMaybe<Scalars['BigInt']['input']>;\n leftoverAmount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n owner?: InputMaybe<Scalars['String']['input']>;\n owner_contains?: InputMaybe<Scalars['String']['input']>;\n owner_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not?: InputMaybe<Scalars['String']['input']>;\n owner_not_contains?: InputMaybe<Scalars['String']['input']>;\n owner_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n owner_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n owner_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n owner_starts_with?: InputMaybe<Scalars['String']['input']>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenCount?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenCount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type SendReservedTokensToSplitsEventPage = {\n items: Array<SendReservedTokensToSplitsEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type StoreAutoIssuanceAmountEvent = {\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n count: Scalars['BigInt']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n stageId: Scalars['BigInt']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type StoreAutoIssuanceAmountEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<StoreAutoIssuanceAmountEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<StoreAutoIssuanceAmountEventFilter>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n count?: InputMaybe<Scalars['BigInt']['input']>;\n count_gt?: InputMaybe<Scalars['BigInt']['input']>;\n count_gte?: InputMaybe<Scalars['BigInt']['input']>;\n count_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n count_lt?: InputMaybe<Scalars['BigInt']['input']>;\n count_lte?: InputMaybe<Scalars['BigInt']['input']>;\n count_not?: InputMaybe<Scalars['BigInt']['input']>;\n count_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n stageId?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_gte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n stageId_lt?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_lte?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not?: InputMaybe<Scalars['BigInt']['input']>;\n stageId_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type StoreAutoIssuanceAmountEventPage = {\n items: Array<StoreAutoIssuanceAmountEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SuckerGroup = {\n addresses: Array<Scalars['String']['output']>;\n balance: Scalars['BigInt']['output'];\n contributorsCount: Scalars['Int']['output'];\n createdAt: Scalars['Int']['output'];\n id: Scalars['String']['output'];\n nftsMintedCount: Scalars['Int']['output'];\n paymentsCount: Scalars['Int']['output'];\n projects: Maybe<ProjectPage>;\n redeemCount: Scalars['Int']['output'];\n redeemVolume: Scalars['BigInt']['output'];\n redeemVolumeUsd: Scalars['BigInt']['output'];\n tokenSupply: Scalars['BigInt']['output'];\n trendingPaymentsCount: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n trendingVolume: Scalars['BigInt']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\n\nexport type SuckerGroupProjectsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ProjectFilter>;\n};\n\nexport type SuckerGroupFilter = {\n AND?: InputMaybe<Array<InputMaybe<SuckerGroupFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SuckerGroupFilter>>>;\n addresses?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addresses_has?: InputMaybe<Scalars['String']['input']>;\n addresses_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n addresses_not_has?: InputMaybe<Scalars['String']['input']>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n contributorsCount?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_gte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n createdAt_lt?: InputMaybe<Scalars['Int']['input']>;\n createdAt_lte?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not?: InputMaybe<Scalars['Int']['input']>;\n createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n nftsMintedCount?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount_lt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_lte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projects?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projects_has?: InputMaybe<Scalars['String']['input']>;\n projects_not?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n projects_not_has?: InputMaybe<Scalars['String']['input']>;\n redeemCount?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount_lt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_lte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemVolume?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingPaymentsCount?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingPaymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type SuckerGroupMoment = {\n balance: Scalars['BigInt']['output'];\n block: Scalars['Int']['output'];\n contributorsCount: Scalars['Int']['output'];\n nftsMintedCount: Scalars['Int']['output'];\n paymentsCount: Scalars['Int']['output'];\n redeemCount: Scalars['Int']['output'];\n redeemVolume: Scalars['BigInt']['output'];\n redeemVolumeUsd: Scalars['BigInt']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tokenSupply: Scalars['BigInt']['output'];\n trendingPaymentsCount: Scalars['Int']['output'];\n trendingScore: Scalars['BigInt']['output'];\n trendingVolume: Scalars['BigInt']['output'];\n version: Scalars['Int']['output'];\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\nexport type SuckerGroupMomentFilter = {\n AND?: InputMaybe<Array<InputMaybe<SuckerGroupMomentFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<SuckerGroupMomentFilter>>>;\n balance?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_gte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n balance_lt?: InputMaybe<Scalars['BigInt']['input']>;\n balance_lte?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not?: InputMaybe<Scalars['BigInt']['input']>;\n balance_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n block?: InputMaybe<Scalars['Int']['input']>;\n block_gt?: InputMaybe<Scalars['Int']['input']>;\n block_gte?: InputMaybe<Scalars['Int']['input']>;\n block_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n block_lt?: InputMaybe<Scalars['Int']['input']>;\n block_lte?: InputMaybe<Scalars['Int']['input']>;\n block_not?: InputMaybe<Scalars['Int']['input']>;\n block_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n contributorsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not?: InputMaybe<Scalars['Int']['input']>;\n contributorsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_gte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n nftsMintedCount_lt?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_lte?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not?: InputMaybe<Scalars['Int']['input']>;\n nftsMintedCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n paymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n paymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_gte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemCount_lt?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_lte?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not?: InputMaybe<Scalars['Int']['input']>;\n redeemCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n redeemVolume?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n redeemVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n redeemVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n tokenSupply?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_gte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n tokenSupply_lt?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_lte?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not?: InputMaybe<Scalars['BigInt']['input']>;\n tokenSupply_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingPaymentsCount?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_gte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingPaymentsCount_lt?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_lte?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not?: InputMaybe<Scalars['Int']['input']>;\n trendingPaymentsCount_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n trendingScore?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingScore_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingScore_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n trendingVolume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not?: InputMaybe<Scalars['BigInt']['input']>;\n trendingVolume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type SuckerGroupMomentPage = {\n items: Array<SuckerGroupMoment>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type SuckerGroupPage = {\n items: Array<SuckerGroup>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type UseAllowanceEvent = {\n amount: Scalars['BigInt']['output'];\n amountPaidOut: Scalars['BigInt']['output'];\n beneficiary: Scalars['String']['output'];\n caller: Scalars['String']['output'];\n chainId: Scalars['Int']['output'];\n feeBeneficiary: Scalars['String']['output'];\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n logIndex: Scalars['Int']['output'];\n memo: Maybe<Scalars['String']['output']>;\n netAmountPaidOut: Scalars['BigInt']['output'];\n project: Maybe<Project>;\n projectId: Scalars['Int']['output'];\n rulesetCycleNumber: Scalars['Int']['output'];\n rulesetId: Scalars['Int']['output'];\n suckerGroupId: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txHash: Scalars['String']['output'];\n version: Scalars['Int']['output'];\n};\n\nexport type UseAllowanceEventFilter = {\n AND?: InputMaybe<Array<InputMaybe<UseAllowanceEventFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<UseAllowanceEventFilter>>>;\n amount?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amountPaidOut_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not?: InputMaybe<Scalars['BigInt']['input']>;\n amountPaidOut_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_gt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_gte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n amount_lt?: InputMaybe<Scalars['BigInt']['input']>;\n amount_lte?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not?: InputMaybe<Scalars['BigInt']['input']>;\n amount_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n beneficiary?: InputMaybe<Scalars['String']['input']>;\n beneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n beneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n beneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller?: InputMaybe<Scalars['String']['input']>;\n caller_contains?: InputMaybe<Scalars['String']['input']>;\n caller_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not?: InputMaybe<Scalars['String']['input']>;\n caller_not_contains?: InputMaybe<Scalars['String']['input']>;\n caller_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n caller_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n caller_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n caller_starts_with?: InputMaybe<Scalars['String']['input']>;\n chainId?: InputMaybe<Scalars['Int']['input']>;\n chainId_gt?: InputMaybe<Scalars['Int']['input']>;\n chainId_gte?: InputMaybe<Scalars['Int']['input']>;\n chainId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n chainId_lt?: InputMaybe<Scalars['Int']['input']>;\n chainId_lte?: InputMaybe<Scalars['Int']['input']>;\n chainId_not?: InputMaybe<Scalars['Int']['input']>;\n chainId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n feeBeneficiary?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_contains?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_ends_with?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n feeBeneficiary_not?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_not_contains?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n feeBeneficiary_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n feeBeneficiary_starts_with?: InputMaybe<Scalars['String']['input']>;\n from?: InputMaybe<Scalars['String']['input']>;\n from_contains?: InputMaybe<Scalars['String']['input']>;\n from_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not?: InputMaybe<Scalars['String']['input']>;\n from_not_contains?: InputMaybe<Scalars['String']['input']>;\n from_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n from_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n from_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n from_starts_with?: InputMaybe<Scalars['String']['input']>;\n id?: InputMaybe<Scalars['String']['input']>;\n id_contains?: InputMaybe<Scalars['String']['input']>;\n id_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not?: InputMaybe<Scalars['String']['input']>;\n id_not_contains?: InputMaybe<Scalars['String']['input']>;\n id_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n id_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n id_starts_with?: InputMaybe<Scalars['String']['input']>;\n logIndex?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_gte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n logIndex_lt?: InputMaybe<Scalars['Int']['input']>;\n logIndex_lte?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not?: InputMaybe<Scalars['Int']['input']>;\n logIndex_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n memo?: InputMaybe<Scalars['String']['input']>;\n memo_contains?: InputMaybe<Scalars['String']['input']>;\n memo_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not?: InputMaybe<Scalars['String']['input']>;\n memo_not_contains?: InputMaybe<Scalars['String']['input']>;\n memo_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n memo_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n memo_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n memo_starts_with?: InputMaybe<Scalars['String']['input']>;\n netAmountPaidOut?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_gt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_gte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n netAmountPaidOut_lt?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_lte?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_not?: InputMaybe<Scalars['BigInt']['input']>;\n netAmountPaidOut_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n projectId?: InputMaybe<Scalars['Int']['input']>;\n projectId_gt?: InputMaybe<Scalars['Int']['input']>;\n projectId_gte?: InputMaybe<Scalars['Int']['input']>;\n projectId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n projectId_lt?: InputMaybe<Scalars['Int']['input']>;\n projectId_lte?: InputMaybe<Scalars['Int']['input']>;\n projectId_not?: InputMaybe<Scalars['Int']['input']>;\n projectId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetCycleNumber_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetCycleNumber_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_gte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n rulesetId_lt?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_lte?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not?: InputMaybe<Scalars['Int']['input']>;\n rulesetId_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n suckerGroupId?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_contains?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n suckerGroupId_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n suckerGroupId_starts_with?: InputMaybe<Scalars['String']['input']>;\n timestamp?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n timestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n timestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not?: InputMaybe<Scalars['Int']['input']>;\n timestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n txHash?: InputMaybe<Scalars['String']['input']>;\n txHash_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not?: InputMaybe<Scalars['String']['input']>;\n txHash_not_contains?: InputMaybe<Scalars['String']['input']>;\n txHash_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n txHash_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n txHash_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n txHash_starts_with?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n version_gt?: InputMaybe<Scalars['Int']['input']>;\n version_gte?: InputMaybe<Scalars['Int']['input']>;\n version_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n version_lt?: InputMaybe<Scalars['Int']['input']>;\n version_lte?: InputMaybe<Scalars['Int']['input']>;\n version_not?: InputMaybe<Scalars['Int']['input']>;\n version_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type UseAllowanceEventPage = {\n items: Array<UseAllowanceEvent>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Wallet = {\n address: Scalars['String']['output'];\n lastPaidTimestamp: Scalars['Int']['output'];\n nfts: Maybe<NftPage>;\n participants: Maybe<ParticipantPage>;\n volume: Scalars['BigInt']['output'];\n volumeUsd: Scalars['BigInt']['output'];\n};\n\n\nexport type WalletNftsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<NftFilter>;\n};\n\n\nexport type WalletParticipantsArgs = {\n after?: InputMaybe<Scalars['String']['input']>;\n before?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n orderDirection?: InputMaybe<Scalars['String']['input']>;\n where?: InputMaybe<ParticipantFilter>;\n};\n\nexport type WalletFilter = {\n AND?: InputMaybe<Array<InputMaybe<WalletFilter>>>;\n OR?: InputMaybe<Array<InputMaybe<WalletFilter>>>;\n address?: InputMaybe<Scalars['String']['input']>;\n address_contains?: InputMaybe<Scalars['String']['input']>;\n address_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not?: InputMaybe<Scalars['String']['input']>;\n address_not_contains?: InputMaybe<Scalars['String']['input']>;\n address_not_ends_with?: InputMaybe<Scalars['String']['input']>;\n address_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n address_not_starts_with?: InputMaybe<Scalars['String']['input']>;\n address_starts_with?: InputMaybe<Scalars['String']['input']>;\n lastPaidTimestamp?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_gte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n lastPaidTimestamp_lt?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_lte?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not?: InputMaybe<Scalars['Int']['input']>;\n lastPaidTimestamp_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n volume?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volumeUsd_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not?: InputMaybe<Scalars['BigInt']['input']>;\n volumeUsd_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_gt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_gte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n volume_lt?: InputMaybe<Scalars['BigInt']['input']>;\n volume_lte?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not?: InputMaybe<Scalars['BigInt']['input']>;\n volume_not_in?: InputMaybe<Array<InputMaybe<Scalars['BigInt']['input']>>>;\n};\n\nexport type WalletPage = {\n items: Array<Wallet>;\n pageInfo: PageInfo;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type ProjectQueryVariables = Exact<{\n projectId: Scalars['Float']['input'];\n chainId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n}>;\n\n\nexport type ProjectQuery = { project: { projectId: number, metadataUri: string | null, handle: string | null, createdAt: number, logoUri: string | null, name: string | null, version: number, suckerGroupId: string, suckerGroup: { projects: { items: Array<{ chainId: number, balance: any, tokenSupply: any, projectId: number }> } | null } | null } | null };\n\nexport type ProjectsQueryVariables = Exact<{\n where?: InputMaybe<ProjectFilter>;\n}>;\n\n\nexport type ProjectsQuery = { projects: { items: Array<{ projectId: number, metadataUri: string | null, handle: string | null, createdAt: number, suckerGroupId: string, version: number, participants: { totalCount: number } | null }> } };\n\nexport type ProjectAccountingContextQueryVariables = Exact<{\n chainId: Scalars['Float']['input'];\n projectId: Scalars['Float']['input'];\n version: Scalars['Float']['input'];\n}>;\n\n\nexport type ProjectAccountingContextQuery = { project: { token: string | null, decimals: number | null, currency: any | null } | null };\n\n\nexport const ProjectDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Project\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"metadataUri\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"handle\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logoUri\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suckerGroupId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suckerGroup\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"balance\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tokenSupply\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode<ProjectQuery, ProjectQueryVariables>;\nexport const ProjectsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Projects\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"projectFilter\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"metadataUri\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"handle\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suckerGroupId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participants\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCount\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}]}}]}}]}}]} as unknown as DocumentNode<ProjectsQuery, ProjectsQueryVariables>;\nexport const ProjectAccountingContextDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProjectAccountingContext\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Float\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"chainId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"token\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decimals\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currency\"}}]}}]}}]} as unknown as DocumentNode<ProjectAccountingContextQuery, ProjectAccountingContextQueryVariables>;","import { type TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { requestBendystraw } from \"@bananapus/nana-sdk-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { analyzeDocument } from \"graphql-request\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useBendystrawConfig } from \"../../contexts/JBProjectProvider/JBProjectProvider\";\nimport { getBendystrawUrl } from \"./getBendystrawUrl\";\n\nexport function useBendystrawQuery<TResult, TVariables>(\n document: TypedDocumentNode<TResult, TVariables>,\n ...[variables, options]: TVariables extends Record<string, never>\n ? [\n undefined?,\n { pollInterval?: number; enabled?: boolean; staleTime?: number }?,\n ]\n : [\n TVariables,\n { pollInterval?: number; enabled?: boolean; staleTime?: number }?,\n ]\n): UseQueryResult<TResult> {\n const chainId = useJBChainId();\n const config = useBendystrawConfig();\n\n const url = chainId && config ? getBendystrawUrl(chainId, config) : undefined;\n const { expression, operationName } = analyzeDocument(document);\n\n if (!operationName) {\n throw new Error(\"Bendystraw operations must have a name.\");\n }\n\n return useQuery({\n queryKey: [operationName, chainId, url, variables],\n queryFn: async () =>\n requestBendystraw<TResult, object>(\n `${url}/graphql`,\n expression,\n variables as object,\n ),\n enabled: options?.enabled !== false && !!chainId && !!url,\n refetchInterval: options?.pollInterval,\n // requestBendystraw owns bounded transient retries. Retrying again here\n // would multiply requests and make timeout behavior inconsistent.\n retry: false,\n staleTime: options?.staleTime ?? 30000, // Consider data stale after 30 seconds by default\n gcTime: 5 * 60 * 1000, // Keep in cache for 5 minutes\n });\n}\n","import { createContext, PropsWithChildren, useContext } from \"react\";\nimport { JBChainProvider } from \"../JBChainContext/JBChainContext\";\nimport {\n JBContractProvider,\n JBContractProviderProps,\n} from \"../JBContractContext/JBContractContext\";\nimport { JBCurrentDataHookProvider } from \"../JBDataHookContext/JBCurrentDataHookProvider\";\nimport {\n JBProjectMetadataProvider,\n JBProjectMetadataProviderProps,\n} from \"../JBProjectMetadataContext/JBProjectMetadataContext\";\nimport { JBRulesetProvider } from \"../JBRulesetContext/JBRulesetContext\";\nimport {\n JBTokenProvider,\n JBTokenProviderProps,\n} from \"../JBTokenContext/JBTokenContext\";\nimport { JBPrimaryNativeTerminalProvider } from \"../JBTerminalContext/JBPrimaryNativeTerminalProvider\";\nimport { JBChainId, JBVersion } from \"@bananapus/nana-sdk-core\";\nimport { BendystrawConfig } from \"../../lib/bendystraw/getBendystrawUrl\";\n\ntype JBProjectProviderProps = PropsWithChildren<{\n projectId: bigint;\n chainId: JBChainId;\n version: JBVersion;\n ctxProps?: {\n token?: JBTokenProviderProps;\n contract?: JBContractProviderProps;\n metadata?: JBProjectMetadataProviderProps;\n };\n bendystraw: BendystrawConfig;\n}>;\n\nexport type JBProjectContextData = {\n chainId: JBChainId;\n projectId: bigint;\n version: JBVersion;\n bendystraw: BendystrawConfig;\n};\n\nexport const JBProjectContext = createContext<JBProjectContextData | undefined>(\n undefined,\n);\n\n/**\n * Juicebox project context provider. Loads all the data for a project.\n *\n * Allows for children to access:\n * - {@link JBContractContext}\n * - {@link JBFundingCycleContext}\n * - {@link JBTokenContext}\n */\nexport const JBProjectProvider = ({\n projectId,\n chainId,\n children,\n ctxProps,\n version,\n bendystraw,\n}: JBProjectProviderProps) => {\n return (\n <JBProjectContext.Provider\n value={{ chainId, projectId, version, bendystraw }}\n >\n <JBChainProvider chainId={chainId}>\n <JBContractProvider\n projectId={projectId}\n version={version}\n {...ctxProps?.contract}\n >\n <JBRulesetProvider>\n <JBProjectMetadataProvider {...ctxProps?.metadata}>\n <JBCurrentDataHookProvider>\n <JBPrimaryNativeTerminalProvider>\n <JBTokenProvider {...ctxProps?.token}>\n {children}\n </JBTokenProvider>\n </JBPrimaryNativeTerminalProvider>\n </JBCurrentDataHookProvider>\n </JBProjectMetadataProvider>\n </JBRulesetProvider>\n </JBContractProvider>\n </JBChainProvider>\n </JBProjectContext.Provider>\n );\n};\n\nexport function useJBProject():\n | Omit<JBProjectContextData, \"bendystraw\">\n | undefined {\n const context = useContext(JBProjectContext);\n if (!context) return undefined;\n\n // The `Omit` is only a type-level promise: returning the context as-is hands\n // every consumer of the project's identity the Bendystraw API key too.\n const { bendystraw: _bendystraw, ...project } = context;\n return project;\n}\n\nexport function useBendystrawConfig(): BendystrawConfig | undefined {\n return useContext(JBProjectContext)?.bendystraw;\n}\n","import { debug } from \"@bananapus/nana-sdk-core\";\nimport { useJBRulesetMetadata } from \"../JBRulesetContext/JBRulesetContext\";\nimport { JBDataHookProvider } from \"./JBDataHookContext\";\n\n/**\n * Provide infortmaion about the current funding cycle's datahook.\n *\n * @note depends on JBFundingCycleContext\n */\nexport function JBCurrentDataHookProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const { data } = useJBRulesetMetadata();\n const dataHookAddress = data?.dataHook;\n\n debug(\"JBCurrentDataHookContext\", { dataHookAddress });\n\n return (\n <JBDataHookProvider dataHookAddress={dataHookAddress}>\n {children}\n </JBDataHookProvider>\n );\n}\n","import {\n JBProjectMetadata,\n debug,\n getProjectMetadata,\n} from \"@bananapus/nana-sdk-core\";\nimport { createContext, useContext } from \"react\";\nimport { Address } from \"viem\";\nimport { usePublicClient } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\n\nexport type JBProjectMetadataContext = {\n metadata: AsyncData<JBProjectMetadata>;\n};\n\nexport const JBProjectMetadataContext = createContext<JBProjectMetadataContext>(\n {\n metadata: AsyncDataNone,\n },\n);\n\nexport function useJBProjectMetadataContext() {\n return useContext(JBProjectMetadataContext);\n}\n\nexport function useProjectMetadata({\n projectId,\n jbControllerAddress,\n ipfsGatewayHostname,\n}: {\n projectId: bigint | undefined;\n jbControllerAddress: Address | undefined;\n ipfsGatewayHostname?: string;\n}) {\n const chainId = useJBChainId();\n const publicClient = usePublicClient({ chainId });\n\n return useQuery({\n // The chain is part of the read's identity: the same project id resolves to\n // a different project on every chain, so omitting it lets one chain's name\n // and logo be served for another's project.\n queryKey: [\n \"juice-sdk\",\n \"useProjectMetadata\",\n chainId,\n projectId?.toString(),\n jbControllerAddress,\n ipfsGatewayHostname,\n ],\n enabled: !!chainId && !!projectId && !!jbControllerAddress,\n queryFn: async () => {\n if (!projectId || !jbControllerAddress) return null;\n\n if (!publicClient) {\n throw new Error(\"Public client not available.\");\n }\n\n const response = await getProjectMetadata(\n publicClient,\n {\n projectId,\n jbControllerAddress,\n },\n {\n ipfsGatewayHostname,\n },\n );\n\n return response ?? null;\n },\n });\n}\n\nexport type JBProjectMetadataProviderProps = {\n ipfsGatewayHostname?: string;\n};\n\n/**\n * Provides the metadata for the project in context.\n *\n * @note depends on JBContractContext\n */\nexport const JBProjectMetadataProvider = ({\n children,\n ipfsGatewayHostname,\n}: {\n children: React.ReactNode;\n} & JBProjectMetadataProviderProps) => {\n const { projectId, contracts } = useJBContractContext();\n const metadata = useProjectMetadata({\n projectId,\n jbControllerAddress: contracts.controller.data ?? undefined,\n ipfsGatewayHostname,\n });\n\n debug(\"JBProjectMetadataContext\", {\n projectId,\n ipfsGatewayHostname,\n contracts,\n metadata,\n });\n\n return (\n <JBProjectMetadataContext.Provider\n value={{ metadata: metadata as AsyncData<JBProjectMetadata> }}\n >\n {children}\n </JBProjectMetadataContext.Provider>\n );\n};\n","import {\n getJBContractAddress,\n jbControllerAbi,\n JBCoreContracts,\n JBProjectToken,\n jbTokensAbi,\n} from \"@bananapus/nana-sdk-core\";\nimport { createContext, PropsWithChildren, useContext } from \"react\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\nimport { useReadContract, useToken, UseTokenReturnType } from \"wagmi\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\n\n/**\n * Context for the token of a project.\n */\nexport type JBTokenContextData = {\n /**\n * The token of the project.\n */\n token: AsyncData<UseTokenReturnType[\"data\"]>;\n /**\n * The total outstanding tokens of the project.\n */\n totalOutstanding: AsyncData<JBProjectToken>;\n};\n\n/**\n * Context for the token of a project.\n */\nexport const JBTokenContext = createContext<JBTokenContextData>({\n /**\n * The token of the project.\n *\n * @default none {@link AsyncDataNone}\n */\n token: AsyncDataNone,\n /**\n * The total outstanding tokens of the project.\n *\n * @default none {@link AsyncDataNone}\n */\n totalOutstanding: AsyncDataNone,\n});\n\nexport function useJBTokenContext() {\n return useContext(JBTokenContext);\n}\n\nexport type JBTokenProviderProps = PropsWithChildren<{\n withTotalOutstanding?: boolean;\n}>;\n\n/**\n * Provides the token for a project.\n *\n * @note depends on JBContractContext\n */\nexport const JBTokenProvider = ({\n children,\n withTotalOutstanding,\n}: JBTokenProviderProps) => {\n const chainId = useJBChainId();\n\n const {\n projectId,\n version,\n contracts: { controller },\n } = useJBContractContext();\n\n // `getJBContractAddress` throws for a chain with no deployment, and it runs in\n // the render body — before any `enabled` gate can help. An unresolvable\n // address disables the read instead of taking the tree down.\n let jbTokensAddress: `0x${string}` | undefined;\n try {\n jbTokensAddress = chainId\n ? getJBContractAddress(JBCoreContracts.JBTokens, version, chainId)\n : undefined;\n } catch {\n jbTokensAddress = undefined;\n }\n\n const { data: tokenAddress, isLoading: isTokenAddressLoading } =\n useReadContract({\n address: jbTokensAddress,\n abi: jbTokensAbi,\n functionName: \"tokenOf\",\n chainId,\n args: [projectId],\n query: { enabled: !!projectId && !!jbTokensAddress },\n });\n\n const fetchTokenEnabled = Boolean(\n tokenAddress && !isAddressEqual(tokenAddress, zeroAddress),\n );\n const token = useToken({\n chainId,\n address: fetchTokenEnabled ? tokenAddress : undefined,\n query: { enabled: fetchTokenEnabled },\n });\n\n const totalOutstandingRes = useReadContract({\n abi: jbControllerAbi,\n functionName: \"totalTokenSupplyWithReservedTokensOf\",\n chainId,\n address: controller?.data ?? undefined,\n args: withTotalOutstanding ? [projectId] : undefined,\n query: {\n enabled: withTotalOutstanding && controller?.data !== undefined,\n },\n });\n\n const totalOutstandingData =\n totalOutstandingRes?.data !== undefined\n ? new JBProjectToken(totalOutstandingRes?.data)\n : undefined;\n\n return (\n <JBTokenContext.Provider\n value={{\n // The ERC-20 read is disabled until `tokenOf` answers, which would\n // otherwise publish `isLoading: false, data: undefined` — \"this project\n // has no token\" — on every page load.\n token: {\n ...token,\n isLoading: Boolean(token.isLoading || isTokenAddressLoading),\n },\n totalOutstanding: {\n data: totalOutstandingData,\n isLoading: Boolean(\n totalOutstandingRes?.isLoading || controller?.isLoading,\n ),\n },\n }}\n >\n {children}\n </JBTokenContext.Provider>\n );\n};\n","import { debug } from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../JBContractContext/JBContractContext\";\nimport { JBTerminalProvider } from \"./JBTerminalContext\";\n\n/**\n * Provide infortmaion about the project's primary native terminal.\n *\n * @note depends on JBContractContext\n */\nexport function JBPrimaryNativeTerminalProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const { contracts } = useJBContractContext();\n const terminalAddress = contracts?.primaryNativeTerminal?.data ?? undefined;\n debug(\"JBPrimaryNativeTerminalProvider\", { terminalAddress });\n\n // Always render the provider: swapping between bare children and a wrapped\n // subtree changes the element type, so React would remount everything below\n // (losing state and refiring queries) the moment the terminal resolves. An\n // undefined address keeps the terminal reads disabled on its own.\n return (\n <JBTerminalProvider address={terminalAddress}>\n {children}\n </JBTerminalProvider>\n );\n}\n","import { jbMultiTerminalAbi } from \"@bananapus/nana-sdk-core\";\nimport { PropsWithChildren, createContext, useContext } from \"react\";\nimport {\n Address,\n ContractFunctionReturnType,\n isAddressEqual,\n zeroAddress,\n} from \"viem\";\nimport { useJBChainId } from \"../JBChainContext/JBChainContext\";\nimport { AsyncData, AsyncDataNone } from \"../types\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * [token] The address of the token that accounting is being done with.\n * [decimals] The number of decimals expected in that token's fixed point accounting.\n * [currency] The currency that the token is priced in terms of.\n */\ntype JBAccountingContext = ContractFunctionReturnType<\n typeof jbMultiTerminalAbi,\n \"view\",\n \"accountingContextsOf\"\n>[0];\n\nexport type JBTerminalContext = {\n address: Address | undefined;\n accountingContexts: AsyncData<readonly JBAccountingContext[] | undefined>;\n store: AsyncData<Address>;\n};\n\nexport const JBTerminalContext = createContext<JBTerminalContext>({\n address: undefined,\n accountingContexts: AsyncDataNone,\n store: AsyncDataNone,\n});\n\nexport function useJBTerminalContext() {\n return useContext(JBTerminalContext);\n}\n\ntype JBTerminalProviderProps = PropsWithChildren<{\n address: Address | undefined;\n}>;\n\n/**\n * Provide details about a given terminal.\n */\nexport const JBTerminalProvider = ({\n address,\n children,\n}: JBTerminalProviderProps) => {\n const chainId = useJBChainId();\n\n const { data: store, isLoading: isStoreLoading } = useReadContract({\n abi: jbMultiTerminalAbi,\n functionName: \"STORE\",\n chainId,\n address:\n address && isAddressEqual(address, zeroAddress) ? undefined : address,\n });\n\n const { data: accountingContexts, isLoading: accountingContextsLoading } =\n useReadContract({\n abi: jbMultiTerminalAbi,\n functionName: \"accountingContextsOf\",\n chainId,\n address:\n address && isAddressEqual(address, zeroAddress) ? undefined : address,\n });\n\n return (\n <JBTerminalContext.Provider\n value={{\n address,\n store: {\n data: store,\n isLoading: isStoreLoading,\n },\n accountingContexts: {\n data: accountingContexts,\n isLoading: accountingContextsLoading,\n },\n }}\n >\n {children}\n </JBTerminalContext.Provider>\n );\n};\n","import { JB_CHAINS, JBChainId } from \"@bananapus/nana-sdk-core\";\n\nconst bendystrawUrl = \"https://bendystraw.xyz\";\nconst testnetBendystrawUrl = \"https://testnet.bendystraw.xyz\";\n\nexport type BendystrawConfig = {\n apiKey: string;\n url?: string;\n};\n\nexport function getBendystrawUrl(\n chainId: number,\n config: BendystrawConfig,\n): string {\n const { url, apiKey } = config;\n // An empty key must not leave a bare `/` behind: callers append `/graphql`.\n const keyPath = apiKey !== \"\" ? `/${apiKey}` : \"\";\n\n if (url) return `${url}${keyPath}`;\n\n // Derived from the chain registry rather than a hand-listed set of mainnets:\n // a hard-coded list routes every newly supported production chain to the\n // testnet indexer, which answers with data for a different network.\n const chain = JB_CHAINS[chainId as JBChainId]?.chain;\n const isMainnet = chain ? !chain.testnet : false;\n\n return `${isMainnet ? bendystrawUrl : testnetBendystrawUrl}${keyPath}`;\n}\n","import { useMemo } from \"react\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport {\n ShopPurchasesDocument,\n type ShopPurchase,\n} from \"../../lib/bendystraw/queries/shop\";\nimport { useBendystrawQuery } from \"../../lib/bendystraw/useBendystrawQuery\";\n\n/**\n * Store-item purchases (721 tier mints) for the project in context, newest\n * first — the \"customers\" feed. Reads bendystraw `mintNftEvents` for the\n * context chain.\n *\n * @param args.beneficiary Only purchases whose beneficiary is this address (the\n * connected wallet's own purchases). Omit for all buyers.\n * @param args.limit Page size. Defaults to 100.\n * @param args.offset Page offset for pagination. Defaults to 0.\n * @param args.enabled Whether to run the query. Defaults to true.\n */\nexport function useShopPurchases(args?: {\n beneficiary?: string;\n limit?: number;\n offset?: number;\n enabled?: boolean;\n}) {\n const { beneficiary, limit = 100, offset = 0, enabled = true } = args ?? {};\n const { projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n const { data, ...rest } = useBendystrawQuery(\n ShopPurchasesDocument,\n {\n where: {\n projectId: Number(projectId),\n chainId: Number(chainId),\n version: Number(version),\n ...(beneficiary ? { beneficiary: beneficiary.toLowerCase() } : {}),\n },\n limit,\n offset,\n },\n { enabled: !!chainId && !!projectId && enabled },\n );\n\n const purchases: ShopPurchase[] | undefined = useMemo(\n () =>\n data?.mintNftEvents.items.map((item) => ({\n ...item,\n chainId: Number(item.chainId),\n projectId: Number(item.projectId),\n timestamp: Number(item.timestamp),\n tierId: Number(item.tierId),\n tokenId: String(item.tokenId),\n totalAmountPaid: String(item.totalAmountPaid),\n })),\n [data],\n );\n\n return {\n data: purchases,\n totalCount: data?.mintNftEvents.totalCount,\n ...rest,\n };\n}\n","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport function isObjectLike(value) {\n return typeof value == 'object' && value !== null;\n}\n","export function invariant(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(\n message != null ? message : 'Unexpected invariant triggered.',\n );\n }\n}\n","import { invariant } from '../jsutils/invariant.mjs';\nconst LineRegExp = /\\r\\n|[\\n\\r]/g;\n/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n let lastLineStart = 0;\n let line = 1;\n\n for (const match of source.body.matchAll(LineRegExp)) {\n typeof match.index === 'number' || invariant(false);\n\n if (match.index >= position) {\n break;\n }\n\n lastLineStart = match.index + match[0].length;\n line += 1;\n }\n\n return {\n line,\n column: position + 1 - lastLineStart,\n };\n}\n","import { getLocation } from './location.mjs';\n\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\nexport function printLocation(location) {\n return printSourceLocation(\n location.source,\n getLocation(location.source, location.start),\n );\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n const firstLineColumnOffset = source.locationOffset.column - 1;\n const body = ''.padStart(firstLineColumnOffset) + source.body;\n const lineIndex = sourceLocation.line - 1;\n const lineOffset = source.locationOffset.line - 1;\n const lineNum = sourceLocation.line + lineOffset;\n const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n const columnNum = sourceLocation.column + columnOffset;\n const locationStr = `${source.name}:${lineNum}:${columnNum}\\n`;\n const lines = body.split(/\\r\\n|[\\n\\r]/g);\n const locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n const subLineIndex = Math.floor(columnNum / 80);\n const subLineColumnNum = columnNum % 80;\n const subLines = [];\n\n for (let i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return (\n locationStr +\n printPrefixedLines([\n [`${lineNum} |`, subLines[0]],\n ...subLines.slice(1, subLineIndex + 1).map((subLine) => ['|', subLine]),\n ['|', '^'.padStart(subLineColumnNum)],\n ['|', subLines[subLineIndex + 1]],\n ])\n );\n }\n\n return (\n locationStr +\n printPrefixedLines([\n // Lines specified like this: [\"prefix\", \"string\"],\n [`${lineNum - 1} |`, lines[lineIndex - 1]],\n [`${lineNum} |`, locationLine],\n ['|', '^'.padStart(columnNum)],\n [`${lineNum + 1} |`, lines[lineIndex + 1]],\n ])\n );\n}\n\nfunction printPrefixedLines(lines) {\n const existingLines = lines.filter(([_, line]) => line !== undefined);\n const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));\n return existingLines\n .map(([prefix, line]) => prefix.padStart(padLen) + (line ? ' ' + line : ''))\n .join('\\n');\n}\n","import { isObjectLike } from '../jsutils/isObjectLike.mjs';\nimport { getLocation } from '../language/location.mjs';\nimport {\n printLocation,\n printSourceLocation,\n} from '../language/printLocation.mjs';\n\nfunction toNormalizedOptions(args) {\n const firstArg = args[0];\n\n if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {\n return {\n nodes: firstArg,\n source: args[1],\n positions: args[2],\n path: args[3],\n originalError: args[4],\n extensions: args[5],\n };\n }\n\n return firstArg;\n}\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport class GraphQLError extends Error {\n /**\n * An array of `{ line, column }` locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n\n /**\n * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n */\n constructor(message, ...rawArgs) {\n var _this$nodes, _nodeLocations$, _ref;\n\n const { nodes, source, positions, path, originalError, extensions } =\n toNormalizedOptions(rawArgs);\n super(message);\n this.name = 'GraphQLError';\n this.path = path !== null && path !== void 0 ? path : undefined;\n this.originalError =\n originalError !== null && originalError !== void 0\n ? originalError\n : undefined; // Compute list of blame nodes.\n\n this.nodes = undefinedIfEmpty(\n Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,\n );\n const nodeLocations = undefinedIfEmpty(\n (_this$nodes = this.nodes) === null || _this$nodes === void 0\n ? void 0\n : _this$nodes.map((node) => node.loc).filter((loc) => loc != null),\n ); // Compute locations in the source for the given nodes/positions.\n\n this.source =\n source !== null && source !== void 0\n ? source\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : (_nodeLocations$ = nodeLocations[0]) === null ||\n _nodeLocations$ === void 0\n ? void 0\n : _nodeLocations$.source;\n this.positions =\n positions !== null && positions !== void 0\n ? positions\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => loc.start);\n this.locations =\n positions && source\n ? positions.map((pos) => getLocation(source, pos))\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => getLocation(loc.source, loc.start));\n const originalExtensions = isObjectLike(\n originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions,\n )\n ? originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions\n : undefined;\n this.extensions =\n (_ref =\n extensions !== null && extensions !== void 0\n ? extensions\n : originalExtensions) !== null && _ref !== void 0\n ? _ref\n : Object.create(null); // Only properties prescribed by the spec should be enumerable.\n // Keep the rest as non-enumerable.\n\n Object.defineProperties(this, {\n message: {\n writable: true,\n enumerable: true,\n },\n name: {\n enumerable: false,\n },\n nodes: {\n enumerable: false,\n },\n source: {\n enumerable: false,\n },\n positions: {\n enumerable: false,\n },\n originalError: {\n enumerable: false,\n },\n }); // Include (non-enumerable) stack trace.\n\n /* c8 ignore start */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n\n if (\n originalError !== null &&\n originalError !== void 0 &&\n originalError.stack\n ) {\n Object.defineProperty(this, 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true,\n });\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, GraphQLError);\n } else {\n Object.defineProperty(this, 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true,\n });\n }\n /* c8 ignore stop */\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n\n toString() {\n let output = this.message;\n\n if (this.nodes) {\n for (const node of this.nodes) {\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (this.source && this.locations) {\n for (const location of this.locations) {\n output += '\\n\\n' + printSourceLocation(this.source, location);\n }\n }\n\n return output;\n }\n\n toJSON() {\n const formattedError = {\n message: this.message,\n };\n\n if (this.locations != null) {\n formattedError.locations = this.locations;\n }\n\n if (this.path != null) {\n formattedError.path = this.path;\n }\n\n if (this.extensions != null && Object.keys(this.extensions).length > 0) {\n formattedError.extensions = this.extensions;\n }\n\n return formattedError;\n }\n}\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * See: https://spec.graphql.org/draft/#sec-Errors\n */\n\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */\nexport function printError(error) {\n return error.toString();\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */\n\nexport function formatError(error) {\n return error.toJSON();\n}\n","import { GraphQLError } from './GraphQLError.mjs';\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(`Syntax Error: ${description}`, {\n source,\n positions: [position],\n });\n}\n","/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport class Location {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n constructor(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n get [Symbol.toStringTag]() {\n return 'Location';\n }\n\n toJSON() {\n return {\n start: this.start,\n end: this.end,\n };\n }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n *\n * Note: is undefined for punctuation tokens, but typed as string for\n * convenience in the parser.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n constructor(kind, start, end, line, column, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n this.value = value;\n this.prev = null;\n this.next = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'Token';\n }\n\n toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column,\n };\n }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: [\n 'name',\n 'variableDefinitions',\n 'directives',\n 'selectionSet',\n ],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: [\n 'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n 'variableDefinitions',\n 'typeCondition',\n 'directives',\n 'selectionSet',\n ],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: [\n 'description',\n 'name',\n 'type',\n 'defaultValue',\n 'directives',\n ],\n InterfaceTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n const maybeKind =\n maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n OperationTypeNode['QUERY'] = 'query';\n OperationTypeNode['MUTATION'] = 'mutation';\n OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed directive location values.\n */\nvar DirectiveLocation;\n\n(function (DirectiveLocation) {\n DirectiveLocation['QUERY'] = 'QUERY';\n DirectiveLocation['MUTATION'] = 'MUTATION';\n DirectiveLocation['SUBSCRIPTION'] = 'SUBSCRIPTION';\n DirectiveLocation['FIELD'] = 'FIELD';\n DirectiveLocation['FRAGMENT_DEFINITION'] = 'FRAGMENT_DEFINITION';\n DirectiveLocation['FRAGMENT_SPREAD'] = 'FRAGMENT_SPREAD';\n DirectiveLocation['INLINE_FRAGMENT'] = 'INLINE_FRAGMENT';\n DirectiveLocation['VARIABLE_DEFINITION'] = 'VARIABLE_DEFINITION';\n DirectiveLocation['SCHEMA'] = 'SCHEMA';\n DirectiveLocation['SCALAR'] = 'SCALAR';\n DirectiveLocation['OBJECT'] = 'OBJECT';\n DirectiveLocation['FIELD_DEFINITION'] = 'FIELD_DEFINITION';\n DirectiveLocation['ARGUMENT_DEFINITION'] = 'ARGUMENT_DEFINITION';\n DirectiveLocation['INTERFACE'] = 'INTERFACE';\n DirectiveLocation['UNION'] = 'UNION';\n DirectiveLocation['ENUM'] = 'ENUM';\n DirectiveLocation['ENUM_VALUE'] = 'ENUM_VALUE';\n DirectiveLocation['INPUT_OBJECT'] = 'INPUT_OBJECT';\n DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION';\n})(DirectiveLocation || (DirectiveLocation = {}));\n\nexport { DirectiveLocation };\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n Kind['NAME'] = 'Name';\n Kind['DOCUMENT'] = 'Document';\n Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n Kind['SELECTION_SET'] = 'SelectionSet';\n Kind['FIELD'] = 'Field';\n Kind['ARGUMENT'] = 'Argument';\n Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n Kind['VARIABLE'] = 'Variable';\n Kind['INT'] = 'IntValue';\n Kind['FLOAT'] = 'FloatValue';\n Kind['STRING'] = 'StringValue';\n Kind['BOOLEAN'] = 'BooleanValue';\n Kind['NULL'] = 'NullValue';\n Kind['ENUM'] = 'EnumValue';\n Kind['LIST'] = 'ListValue';\n Kind['OBJECT'] = 'ObjectValue';\n Kind['OBJECT_FIELD'] = 'ObjectField';\n Kind['DIRECTIVE'] = 'Directive';\n Kind['NAMED_TYPE'] = 'NamedType';\n Kind['LIST_TYPE'] = 'ListType';\n Kind['NON_NULL_TYPE'] = 'NonNullType';\n Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","/**\n * ```\n * WhiteSpace ::\n * - \"Horizontal Tab (U+0009)\"\n * - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\n * - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M`\n * - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z`\n * - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m`\n * - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z`\n * ```\n * @internal\n */\n\nexport function isLetter(code) {\n return (\n (code >= 0x0061 && code <= 0x007a) || // A-Z\n (code >= 0x0041 && code <= 0x005a) // a-z\n );\n}\n/**\n * ```\n * NameStart ::\n * - Letter\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n * - Letter\n * - Digit\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nexport function dedentBlockStringLines(lines) {\n var _firstNonEmptyLine2;\n\n let commonIndent = Number.MAX_SAFE_INTEGER;\n let firstNonEmptyLine = null;\n let lastNonEmptyLine = -1;\n\n for (let i = 0; i < lines.length; ++i) {\n var _firstNonEmptyLine;\n\n const line = lines[i];\n const indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n firstNonEmptyLine =\n (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine !== void 0\n ? _firstNonEmptyLine\n : i;\n lastNonEmptyLine = i;\n\n if (i !== 0 && indent < commonIndent) {\n commonIndent = indent;\n }\n }\n\n return lines // Remove common indentation from all lines but first.\n .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n .slice(\n (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine2 !== void 0\n ? _firstNonEmptyLine2\n : 0,\n lastNonEmptyLine + 1,\n );\n}\n\nfunction leadingWhitespace(str) {\n let i = 0;\n\n while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n ++i;\n }\n\n return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n if (value === '') {\n return true; // empty string is printable\n }\n\n let isEmptyLine = true;\n let hasIndent = false;\n let hasCommonIndent = true;\n let seenNonEmptyLine = false;\n\n for (let i = 0; i < value.length; ++i) {\n switch (value.codePointAt(i)) {\n case 0x0000:\n case 0x0001:\n case 0x0002:\n case 0x0003:\n case 0x0004:\n case 0x0005:\n case 0x0006:\n case 0x0007:\n case 0x0008:\n case 0x000b:\n case 0x000c:\n case 0x000e:\n case 0x000f:\n return false;\n // Has non-printable characters\n\n case 0x000d:\n // \\r\n return false;\n // Has \\r or \\r\\n which will be replaced as \\n\n\n case 10:\n // \\n\n if (isEmptyLine && !seenNonEmptyLine) {\n return false; // Has leading new line\n }\n\n seenNonEmptyLine = true;\n isEmptyLine = true;\n hasIndent = false;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n hasIndent || (hasIndent = isEmptyLine);\n break;\n\n default:\n hasCommonIndent && (hasCommonIndent = hasIndent);\n isEmptyLine = false;\n }\n }\n\n if (isEmptyLine) {\n return false; // Has trailing empty lines\n }\n\n if (hasCommonIndent && seenNonEmptyLine) {\n return false; // Has internal indent\n }\n\n return true;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value, options) {\n const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n const forceLeadingNewLine =\n lines.length > 1 &&\n lines\n .slice(1)\n .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n const hasTrailingSlash = value.endsWith('\\\\');\n const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n const printAsMultipleLines =\n !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n (!isSingleLine ||\n value.length > 70 ||\n forceTrailingNewline ||\n forceLeadingNewLine ||\n hasTrailingTripleQuotes);\n let result = ''; // Format a multi-line block quote to account for leading space.\n\n const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n result += '\\n';\n }\n\n result += escapedValue;\n\n if (printAsMultipleLines || forceTrailingNewline) {\n result += '\\n';\n }\n\n return '\"\"\"' + result + '\"\"\"';\n}\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nvar TokenKind;\n\n(function (TokenKind) {\n TokenKind['SOF'] = '<SOF>';\n TokenKind['EOF'] = '<EOF>';\n TokenKind['BANG'] = '!';\n TokenKind['DOLLAR'] = '$';\n TokenKind['AMP'] = '&';\n TokenKind['PAREN_L'] = '(';\n TokenKind['PAREN_R'] = ')';\n TokenKind['SPREAD'] = '...';\n TokenKind['COLON'] = ':';\n TokenKind['EQUALS'] = '=';\n TokenKind['AT'] = '@';\n TokenKind['BRACKET_L'] = '[';\n TokenKind['BRACKET_R'] = ']';\n TokenKind['BRACE_L'] = '{';\n TokenKind['PIPE'] = '|';\n TokenKind['BRACE_R'] = '}';\n TokenKind['NAME'] = 'Name';\n TokenKind['INT'] = 'Int';\n TokenKind['FLOAT'] = 'Float';\n TokenKind['STRING'] = 'String';\n TokenKind['BLOCK_STRING'] = 'BlockString';\n TokenKind['COMMENT'] = 'Comment';\n})(TokenKind || (TokenKind = {}));\n\nexport { TokenKind };\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Token } from './ast.mjs';\nimport { dedentBlockStringLines } from './blockString.mjs';\nimport { isDigit, isNameContinue, isNameStart } from './characterClasses.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport class Lexer {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n constructor(source) {\n const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n\n get [Symbol.toStringTag]() {\n return 'Lexer';\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n advance() {\n this.lastToken = this.token;\n const token = (this.token = this.lookahead());\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n\n lookahead() {\n let token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n if (token.next) {\n token = token.next;\n } else {\n // Read the next token and form a link in the token linked-list.\n const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.\n\n token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.\n\n nextToken.prev = token;\n token = nextToken;\n }\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n }\n}\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return (\n kind === TokenKind.BANG ||\n kind === TokenKind.DOLLAR ||\n kind === TokenKind.AMP ||\n kind === TokenKind.PAREN_L ||\n kind === TokenKind.PAREN_R ||\n kind === TokenKind.SPREAD ||\n kind === TokenKind.COLON ||\n kind === TokenKind.EQUALS ||\n kind === TokenKind.AT ||\n kind === TokenKind.BRACKET_L ||\n kind === TokenKind.BRACKET_R ||\n kind === TokenKind.BRACE_L ||\n kind === TokenKind.PIPE ||\n kind === TokenKind.BRACE_R\n );\n}\n/**\n * A Unicode scalar value is any Unicode code point except surrogate code\n * points. In other words, the inclusive ranges of values 0x0000 to 0xD7FF and\n * 0xE000 to 0x10FFFF.\n *\n * SourceCharacter ::\n * - \"Any Unicode scalar value\"\n */\n\nfunction isUnicodeScalarValue(code) {\n return (\n (code >= 0x0000 && code <= 0xd7ff) || (code >= 0xe000 && code <= 0x10ffff)\n );\n}\n/**\n * The GraphQL specification defines source text as a sequence of unicode scalar\n * values (which Unicode defines to exclude surrogate code points). However\n * JavaScript defines strings as a sequence of UTF-16 code units which may\n * include surrogates. A surrogate pair is a valid source character as it\n * encodes a supplementary code point (above U+FFFF), but unpaired surrogate\n * code points are not valid source characters.\n */\n\nfunction isSupplementaryCodePoint(body, location) {\n return (\n isLeadingSurrogate(body.charCodeAt(location)) &&\n isTrailingSurrogate(body.charCodeAt(location + 1))\n );\n}\n\nfunction isLeadingSurrogate(code) {\n return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction isTrailingSurrogate(code) {\n return code >= 0xdc00 && code <= 0xdfff;\n}\n/**\n * Prints the code point (or end of file reference) at a given location in a\n * source for use in error messages.\n *\n * Printable ASCII is printed quoted, while other points are printed in Unicode\n * code point form (ie. U+1234).\n */\n\nfunction printCodePointAt(lexer, location) {\n const code = lexer.source.body.codePointAt(location);\n\n if (code === undefined) {\n return TokenKind.EOF;\n } else if (code >= 0x0020 && code <= 0x007e) {\n // Printable ASCII\n const char = String.fromCodePoint(code);\n return char === '\"' ? \"'\\\"'\" : `\"${char}\"`;\n } // Unicode code point\n\n return 'U+' + code.toString(16).toUpperCase().padStart(4, '0');\n}\n/**\n * Create a token with line and column location information.\n */\n\nfunction createToken(lexer, kind, start, end, value) {\n const line = lexer.line;\n const col = 1 + start - lexer.lineStart;\n return new Token(kind, start, end, line, col, value);\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\nfunction readNextToken(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // SourceCharacter\n\n switch (code) {\n // Ignored ::\n // - UnicodeBOM\n // - WhiteSpace\n // - LineTerminator\n // - Comment\n // - Comma\n //\n // UnicodeBOM :: \"Byte Order Mark (U+FEFF)\"\n //\n // WhiteSpace ::\n // - \"Horizontal Tab (U+0009)\"\n // - \"Space (U+0020)\"\n //\n // Comma :: ,\n case 0xfeff: // <BOM>\n\n case 0x0009: // \\t\n\n case 0x0020: // <space>\n\n case 0x002c:\n // ,\n ++position;\n continue;\n // LineTerminator ::\n // - \"New Line (U+000A)\"\n // - \"Carriage Return (U+000D)\" [lookahead != \"New Line (U+000A)\"]\n // - \"Carriage Return (U+000D)\" \"New Line (U+000A)\"\n\n case 0x000a:\n // \\n\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n\n case 0x000d:\n // \\r\n if (body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n // Comment\n\n case 0x0023:\n // #\n return readComment(lexer, position);\n // Token ::\n // - Punctuator\n // - Name\n // - IntValue\n // - FloatValue\n // - StringValue\n //\n // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }\n\n case 0x0021:\n // !\n return createToken(lexer, TokenKind.BANG, position, position + 1);\n\n case 0x0024:\n // $\n return createToken(lexer, TokenKind.DOLLAR, position, position + 1);\n\n case 0x0026:\n // &\n return createToken(lexer, TokenKind.AMP, position, position + 1);\n\n case 0x0028:\n // (\n return createToken(lexer, TokenKind.PAREN_L, position, position + 1);\n\n case 0x0029:\n // )\n return createToken(lexer, TokenKind.PAREN_R, position, position + 1);\n\n case 0x002e:\n // .\n if (\n body.charCodeAt(position + 1) === 0x002e &&\n body.charCodeAt(position + 2) === 0x002e\n ) {\n return createToken(lexer, TokenKind.SPREAD, position, position + 3);\n }\n\n break;\n\n case 0x003a:\n // :\n return createToken(lexer, TokenKind.COLON, position, position + 1);\n\n case 0x003d:\n // =\n return createToken(lexer, TokenKind.EQUALS, position, position + 1);\n\n case 0x0040:\n // @\n return createToken(lexer, TokenKind.AT, position, position + 1);\n\n case 0x005b:\n // [\n return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);\n\n case 0x005d:\n // ]\n return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);\n\n case 0x007b:\n // {\n return createToken(lexer, TokenKind.BRACE_L, position, position + 1);\n\n case 0x007c:\n // |\n return createToken(lexer, TokenKind.PIPE, position, position + 1);\n\n case 0x007d:\n // }\n return createToken(lexer, TokenKind.BRACE_R, position, position + 1);\n // StringValue\n\n case 0x0022:\n // \"\n if (\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n return readBlockString(lexer, position);\n }\n\n return readString(lexer, position);\n } // IntValue | FloatValue (Digit | -)\n\n if (isDigit(code) || code === 0x002d) {\n return readNumber(lexer, position, code);\n } // Name\n\n if (isNameStart(code)) {\n return readName(lexer, position);\n }\n\n throw syntaxError(\n lexer.source,\n position,\n code === 0x0027\n ? 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?'\n : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position)\n ? `Unexpected character: ${printCodePointAt(lexer, position)}.`\n : `Invalid character: ${printCodePointAt(lexer, position)}.`,\n );\n }\n\n return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);\n}\n/**\n * Reads a comment token from the source file.\n *\n * ```\n * Comment :: # CommentChar* [lookahead != CommentChar]\n *\n * CommentChar :: SourceCharacter but not LineTerminator\n * ```\n */\n\nfunction readComment(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.COMMENT,\n start,\n position,\n body.slice(start + 1, position),\n );\n}\n/**\n * Reads a number token from the source file, either a FloatValue or an IntValue\n * depending on whether a FractionalPart or ExponentPart is encountered.\n *\n * ```\n * IntValue :: IntegerPart [lookahead != {Digit, `.`, NameStart}]\n *\n * IntegerPart ::\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit Digit*\n *\n * NegativeSign :: -\n *\n * NonZeroDigit :: Digit but not `0`\n *\n * FloatValue ::\n * - IntegerPart FractionalPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart FractionalPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *\n * FractionalPart :: . Digit+\n *\n * ExponentPart :: ExponentIndicator Sign? Digit+\n *\n * ExponentIndicator :: one of `e` `E`\n *\n * Sign :: one of + -\n * ```\n */\n\nfunction readNumber(lexer, start, firstCode) {\n const body = lexer.source.body;\n let position = start;\n let code = firstCode;\n let isFloat = false; // NegativeSign (-)\n\n if (code === 0x002d) {\n code = body.charCodeAt(++position);\n } // Zero (0)\n\n if (code === 0x0030) {\n code = body.charCodeAt(++position);\n\n if (isDigit(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, unexpected digit after 0: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n } else {\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Full stop (.)\n\n if (code === 0x002e) {\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // E e\n\n if (code === 0x0045 || code === 0x0065) {\n isFloat = true;\n code = body.charCodeAt(++position); // + -\n\n if (code === 0x002b || code === 0x002d) {\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n if (code === 0x002e || isNameStart(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n\n return createToken(\n lexer,\n isFloat ? TokenKind.FLOAT : TokenKind.INT,\n start,\n position,\n body.slice(start, position),\n );\n}\n/**\n * Returns the new position in the source after reading one or more digits.\n */\n\nfunction readDigits(lexer, start, firstCode) {\n if (!isDigit(firstCode)) {\n throw syntaxError(\n lexer.source,\n start,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n start,\n )}.`,\n );\n }\n\n const body = lexer.source.body;\n let position = start + 1; // +1 to skip first firstCode\n\n while (isDigit(body.charCodeAt(position))) {\n ++position;\n }\n\n return position;\n}\n/**\n * Reads a single-quote string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"` [lookahead != `\"`]\n * - `\"` StringCharacter+ `\"`\n *\n * StringCharacter ::\n * - SourceCharacter but not `\"` or `\\` or LineTerminator\n * - `\\u` EscapedUnicode\n * - `\\` EscapedCharacter\n *\n * EscapedUnicode ::\n * - `{` HexDigit+ `}`\n * - HexDigit HexDigit HexDigit HexDigit\n *\n * EscapedCharacter :: one of `\"` `\\` `/` `b` `f` `n` `r` `t`\n * ```\n */\n\nfunction readString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n let chunkStart = position;\n let value = '';\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Quote (\")\n\n if (code === 0x0022) {\n value += body.slice(chunkStart, position);\n return createToken(lexer, TokenKind.STRING, start, position + 1, value);\n } // Escape Sequence (\\)\n\n if (code === 0x005c) {\n value += body.slice(chunkStart, position);\n const escape =\n body.charCodeAt(position + 1) === 0x0075 // u\n ? body.charCodeAt(position + 2) === 0x007b // {\n ? readEscapedUnicodeVariableWidth(lexer, position)\n : readEscapedUnicodeFixedWidth(lexer, position)\n : readEscapedCharacter(lexer, position);\n value += escape.value;\n position += escape.size;\n chunkStart = position;\n continue;\n } // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n} // The string value and lexed size of an escape sequence.\n\nfunction readEscapedUnicodeVariableWidth(lexer, position) {\n const body = lexer.source.body;\n let point = 0;\n let size = 3; // Cannot be larger than 12 chars (\\u{00000000}).\n\n while (size < 12) {\n const code = body.charCodeAt(position + size++); // Closing Brace (})\n\n if (code === 0x007d) {\n // Must be at least 5 chars (\\u{0}) and encode a Unicode scalar value.\n if (size < 5 || !isUnicodeScalarValue(point)) {\n break;\n }\n\n return {\n value: String.fromCodePoint(point),\n size,\n };\n } // Append this hex digit to the code point.\n\n point = (point << 4) | readHexDigit(code);\n\n if (point < 0) {\n break;\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(\n position,\n position + size,\n )}\".`,\n );\n}\n\nfunction readEscapedUnicodeFixedWidth(lexer, position) {\n const body = lexer.source.body;\n const code = read16BitHexCode(body, position + 2);\n\n if (isUnicodeScalarValue(code)) {\n return {\n value: String.fromCodePoint(code),\n size: 6,\n };\n } // GraphQL allows JSON-style surrogate pair escape sequences, but only when\n // a valid pair is formed.\n\n if (isLeadingSurrogate(code)) {\n // \\u\n if (\n body.charCodeAt(position + 6) === 0x005c &&\n body.charCodeAt(position + 7) === 0x0075\n ) {\n const trailingCode = read16BitHexCode(body, position + 8);\n\n if (isTrailingSurrogate(trailingCode)) {\n // JavaScript defines strings as a sequence of UTF-16 code units and\n // encodes Unicode code points above U+FFFF using a surrogate pair of\n // code units. Since this is a surrogate pair escape sequence, just\n // include both codes into the JavaScript string value. Had JavaScript\n // not been internally based on UTF-16, then this surrogate pair would\n // be decoded to retrieve the supplementary code point.\n return {\n value: String.fromCodePoint(code, trailingCode),\n size: 12,\n };\n }\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(position, position + 6)}\".`,\n );\n}\n/**\n * Reads four hexadecimal characters and returns the positive integer that 16bit\n * hexadecimal string represents. For example, \"000f\" will return 15, and \"dead\"\n * will return 57005.\n *\n * Returns a negative number if any char was not a valid hexadecimal digit.\n */\n\nfunction read16BitHexCode(body, position) {\n // readHexDigit() returns -1 on error. ORing a negative value with any other\n // value always produces a negative value.\n return (\n (readHexDigit(body.charCodeAt(position)) << 12) |\n (readHexDigit(body.charCodeAt(position + 1)) << 8) |\n (readHexDigit(body.charCodeAt(position + 2)) << 4) |\n readHexDigit(body.charCodeAt(position + 3))\n );\n}\n/**\n * Reads a hexadecimal character and returns its positive integer value (0-15).\n *\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 if the provided character code was not a valid hexadecimal digit.\n *\n * HexDigit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * - `A` `B` `C` `D` `E` `F`\n * - `a` `b` `c` `d` `e` `f`\n */\n\nfunction readHexDigit(code) {\n return code >= 0x0030 && code <= 0x0039 // 0-9\n ? code - 0x0030\n : code >= 0x0041 && code <= 0x0046 // A-F\n ? code - 0x0037\n : code >= 0x0061 && code <= 0x0066 // a-f\n ? code - 0x0057\n : -1;\n}\n/**\n * | Escaped Character | Code Point | Character Name |\n * | ----------------- | ---------- | ---------------------------- |\n * | `\"` | U+0022 | double quote |\n * | `\\` | U+005C | reverse solidus (back slash) |\n * | `/` | U+002F | solidus (forward slash) |\n * | `b` | U+0008 | backspace |\n * | `f` | U+000C | form feed |\n * | `n` | U+000A | line feed (new line) |\n * | `r` | U+000D | carriage return |\n * | `t` | U+0009 | horizontal tab |\n */\n\nfunction readEscapedCharacter(lexer, position) {\n const body = lexer.source.body;\n const code = body.charCodeAt(position + 1);\n\n switch (code) {\n case 0x0022:\n // \"\n return {\n value: '\\u0022',\n size: 2,\n };\n\n case 0x005c:\n // \\\n return {\n value: '\\u005c',\n size: 2,\n };\n\n case 0x002f:\n // /\n return {\n value: '\\u002f',\n size: 2,\n };\n\n case 0x0062:\n // b\n return {\n value: '\\u0008',\n size: 2,\n };\n\n case 0x0066:\n // f\n return {\n value: '\\u000c',\n size: 2,\n };\n\n case 0x006e:\n // n\n return {\n value: '\\u000a',\n size: 2,\n };\n\n case 0x0072:\n // r\n return {\n value: '\\u000d',\n size: 2,\n };\n\n case 0x0074:\n // t\n return {\n value: '\\u0009',\n size: 2,\n };\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character escape sequence: \"${body.slice(\n position,\n position + 2,\n )}\".`,\n );\n}\n/**\n * Reads a block string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"\"` BlockStringCharacter* `\"\"\"`\n *\n * BlockStringCharacter ::\n * - SourceCharacter but not `\"\"\"` or `\\\"\"\"`\n * - `\\\"\"\"`\n * ```\n */\n\nfunction readBlockString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let lineStart = lexer.lineStart;\n let position = start + 3;\n let chunkStart = position;\n let currentLine = '';\n const blockLines = [];\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Triple-Quote (\"\"\")\n\n if (\n code === 0x0022 &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n const token = createToken(\n lexer,\n TokenKind.BLOCK_STRING,\n start,\n position + 3, // Return a string of the lines joined with U+000A.\n dedentBlockStringLines(blockLines).join('\\n'),\n );\n lexer.line += blockLines.length - 1;\n lexer.lineStart = lineStart;\n return token;\n } // Escaped Triple-Quote (\\\"\"\")\n\n if (\n code === 0x005c &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022 &&\n body.charCodeAt(position + 3) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n chunkStart = position + 1; // skip only slash\n\n position += 4;\n continue;\n } // LineTerminator\n\n if (code === 0x000a || code === 0x000d) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n\n if (code === 0x000d && body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n currentLine = '';\n chunkStart = position;\n lineStart = position;\n continue;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * ```\n * Name ::\n * - NameStart NameContinue* [lookahead != NameContinue]\n * ```\n */\n\nfunction readName(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position);\n\n if (isNameContinue(code)) {\n ++position;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.NAME,\n start,\n position,\n body.slice(start, position),\n );\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (typeof value) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? `[function ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\n );\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { inspect } from './inspect.mjs';\n/* c8 ignore next 3 */\n\nconst isProduction =\n globalThis.process && // eslint-disable-next-line no-undef\n process.env.NODE_ENV === 'production';\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n * See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n * See: https://webpack.js.org/guides/production/\n */\n\nexport const instanceOf =\n /* c8 ignore next 6 */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n isProduction\n ? function instanceOf(value, constructor) {\n return value instanceof constructor;\n }\n : function instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (typeof value === 'object' && value !== null) {\n var _value$constructor;\n\n // Prefer Symbol.toStringTag since it is immune to minification.\n const className = constructor.prototype[Symbol.toStringTag];\n const valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value // @ts-expect-error TS bug see, https://github.com/microsoft/TypeScript/issues/38009\n ? value[Symbol.toStringTag]\n : (_value$constructor = value.constructor) === null ||\n _value$constructor === void 0\n ? void 0\n : _value$constructor.name;\n\n if (className === valueClassName) {\n const stringifiedValue = inspect(value);\n throw new Error(`Cannot use ${className} \"${stringifiedValue}\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`);\n }\n }\n\n return false;\n };\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { instanceOf } from '../jsutils/instanceOf.mjs';\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Location, OperationTypeNode } from './ast.mjs';\nimport { DirectiveLocation } from './directiveLocation.mjs';\nimport { Kind } from './kinds.mjs';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.mjs';\nimport { isSource, Source } from './source.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n const parser = new Parser(source, options);\n const document = parser.parseDocument();\n Object.defineProperty(document, 'tokenCount', {\n enumerable: false,\n value: parser.tokenCount,\n });\n return document;\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n */\n\nexport function parseConstValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseConstValueLiteral();\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport class Parser {\n constructor(source, options = {}) {\n const sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n this._tokenCounter = 0;\n }\n\n get tokenCount() {\n return this._tokenCounter;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n parseName() {\n const token = this.expectToken(TokenKind.NAME);\n return this.node(token, {\n kind: Kind.NAME,\n value: token.value,\n });\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n\n parseDocument() {\n return this.node(this._lexer.token, {\n kind: Kind.DOCUMENT,\n definitions: this.many(\n TokenKind.SOF,\n this.parseDefinition,\n TokenKind.EOF,\n ),\n });\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n *\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n\n parseDefinition() {\n if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } // Many definitions begin with a description and require a lookahead.\n\n const hasDescription = this.peekDescription();\n const keywordToken = hasDescription\n ? this._lexer.lookahead()\n : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n\n if (hasDescription) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, descriptions are supported only on type definitions.',\n );\n }\n\n switch (keywordToken.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n\n parseOperationDefinition() {\n const start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n const operation = this.parseOperationType();\n let name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * OperationType : one of query mutation subscription\n */\n\n parseOperationType() {\n const operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return OperationTypeNode.QUERY;\n\n case 'mutation':\n return OperationTypeNode.MUTATION;\n\n case 'subscription':\n return OperationTypeNode.SUBSCRIPTION;\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n\n parseVariableDefinitions() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseVariableDefinition,\n TokenKind.PAREN_R,\n );\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n\n parseVariableDefinition() {\n return this.node(this._lexer.token, {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n ? this.parseConstValueLiteral()\n : undefined,\n directives: this.parseConstDirectives(),\n });\n }\n /**\n * Variable : $ Name\n */\n\n parseVariable() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return this.node(start, {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n });\n }\n /**\n * ```\n * SelectionSet : { Selection+ }\n * ```\n */\n\n parseSelectionSet() {\n return this.node(this._lexer.token, {\n kind: Kind.SELECTION_SET,\n selections: this.many(\n TokenKind.BRACE_L,\n this.parseSelection,\n TokenKind.BRACE_R,\n ),\n });\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n\n parseSelection() {\n return this.peek(TokenKind.SPREAD)\n ? this.parseFragment()\n : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n\n parseField() {\n const start = this._lexer.token;\n const nameOrAlias = this.parseName();\n let alias;\n let name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return this.node(start, {\n kind: Kind.FIELD,\n alias,\n name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L)\n ? this.parseSelectionSet()\n : undefined,\n });\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n\n parseArguments(isConst) {\n const item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n\n parseArgument(isConst = false) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.ARGUMENT,\n name,\n value: this.parseValueLiteral(isConst),\n });\n }\n\n parseConstArgument() {\n return this.parseArgument(true);\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n\n parseFragment() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n const hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return this.node(start, {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n });\n }\n\n return this.node(start, {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n\n parseFragmentDefinition() {\n const start = this._lexer.token;\n this.expectKeyword('fragment'); // Legacy support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (this._options.allowLegacyFragmentVariables === true) {\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentName : Name but not `on`\n */\n\n parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseValueLiteral(isConst) {\n const token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.INT,\n value: token.value,\n });\n\n case TokenKind.FLOAT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.FLOAT,\n value: token.value,\n });\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this.advanceLexer();\n\n switch (token.value) {\n case 'true':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: true,\n });\n\n case 'false':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: false,\n });\n\n case 'null':\n return this.node(token, {\n kind: Kind.NULL,\n });\n\n default:\n return this.node(token, {\n kind: Kind.ENUM,\n value: token.value,\n });\n }\n\n case TokenKind.DOLLAR:\n if (isConst) {\n this.expectToken(TokenKind.DOLLAR);\n\n if (this._lexer.token.kind === TokenKind.NAME) {\n const varName = this._lexer.token.value;\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected variable \"$${varName}\" in constant value.`,\n );\n } else {\n throw this.unexpected(token);\n }\n }\n\n return this.parseVariable();\n\n default:\n throw this.unexpected();\n }\n }\n\n parseConstValueLiteral() {\n return this.parseValueLiteral(true);\n }\n\n parseStringLiteral() {\n const token = this._lexer.token;\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n });\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n\n parseList(isConst) {\n const item = () => this.parseValueLiteral(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n });\n }\n /**\n * ```\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n * ```\n */\n\n parseObject(isConst) {\n const item = () => this.parseObjectField(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n });\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n\n parseObjectField(isConst) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.OBJECT_FIELD,\n name,\n value: this.parseValueLiteral(isConst),\n });\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n\n parseDirectives(isConst) {\n const directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n\n parseConstDirectives() {\n return this.parseDirectives(true);\n }\n /**\n * ```\n * Directive[Const] : @ Name Arguments[?Const]?\n * ```\n */\n\n parseDirective(isConst) {\n const start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return this.node(start, {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n });\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n\n parseTypeReference() {\n const start = this._lexer.token;\n let type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n const innerType = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = this.node(start, {\n kind: Kind.LIST_TYPE,\n type: innerType,\n });\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return this.node(start, {\n kind: Kind.NON_NULL_TYPE,\n type,\n });\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n\n parseNamedType() {\n return this.node(this._lexer.token, {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n });\n } // Implements the parsing rules in the Type Definition section.\n\n peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n\n parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * ```\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n * ```\n */\n\n parseSchemaDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.many(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n return this.node(start, {\n kind: Kind.SCHEMA_DEFINITION,\n description,\n directives,\n operationTypes,\n });\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n\n parseOperationTypeDefinition() {\n const start = this._lexer.token;\n const operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n const type = this.parseNamedType();\n return this.node(start, {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation,\n type,\n });\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n\n parseScalarTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n\n parseObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n\n parseImplementsInterfaces() {\n return this.expectOptionalKeyword('implements')\n ? this.delimitedMany(TokenKind.AMP, this.parseNamedType)\n : [];\n }\n /**\n * ```\n * FieldsDefinition : { FieldDefinition+ }\n * ```\n */\n\n parseFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseFieldDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n\n parseFieldDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.FIELD_DEFINITION,\n description,\n name,\n arguments: args,\n type,\n directives,\n });\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n\n parseArgumentDefs() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseInputValueDef,\n TokenKind.PAREN_R,\n );\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n\n parseInputValueDef() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n let defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseConstValueLiteral();\n }\n\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description,\n name,\n type,\n defaultValue,\n directives,\n });\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n\n parseInterfaceTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n\n parseUnionTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n return this.node(start, {\n kind: Kind.UNION_TYPE_DEFINITION,\n description,\n name,\n directives,\n types,\n });\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n\n parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS)\n ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType)\n : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n\n parseEnumTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n return this.node(start, {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description,\n name,\n directives,\n values,\n });\n }\n /**\n * ```\n * EnumValuesDefinition : { EnumValueDefinition+ }\n * ```\n */\n\n parseEnumValuesDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseEnumValueDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n */\n\n parseEnumValueDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseEnumValueName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseEnumValueName() {\n if (\n this._lexer.token.value === 'true' ||\n this._lexer.token.value === 'false' ||\n this._lexer.token.value === 'null'\n ) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n `${getTokenDesc(\n this._lexer.token,\n )} is reserved and cannot be used for an enum value.`,\n );\n }\n\n return this.parseName();\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n\n parseInputObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * InputFieldsDefinition : { InputValueDefinition+ }\n * ```\n */\n\n parseInputFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseInputValueDef,\n TokenKind.BRACE_R,\n );\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n\n parseTypeSystemExtension() {\n const keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * ```\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n * ```\n */\n\n parseSchemaExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.optionalMany(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCHEMA_EXTENSION,\n directives,\n operationTypes,\n });\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n\n parseScalarTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n\n parseObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n\n parseInterfaceTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n\n parseUnionTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.UNION_TYPE_EXTENSION,\n name,\n directives,\n types,\n });\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n\n parseEnumTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name,\n directives,\n values,\n });\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n\n parseInputObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n * ```\n */\n\n parseDirectiveDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n const repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n const locations = this.parseDirectiveLocations();\n return this.node(start, {\n kind: Kind.DIRECTIVE_DEFINITION,\n description,\n name,\n arguments: args,\n repeatable,\n locations,\n });\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n\n parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n\n parseDirectiveLocation() {\n const start = this._lexer.token;\n const name = this.parseName();\n\n if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a node that, if configured to do so, sets a \"loc\" field as a\n * location object, used to identify the place in the source that created a\n * given parsed object.\n */\n\n node(startToken, node) {\n if (this._options.noLocation !== true) {\n node.loc = new Location(\n startToken,\n this._lexer.lastToken,\n this._lexer.source,\n );\n }\n\n return node;\n }\n /**\n * Determines if the next token is of a given kind\n */\n\n peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return token;\n }\n\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`,\n );\n }\n /**\n * If the next token is of the given kind, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n } else {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected \"${value}\", found ${getTokenDesc(token)}.`,\n );\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n\n unexpected(atToken) {\n const token =\n atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected ${getTokenDesc(token)}.`,\n );\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n\n delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n }\n\n advanceLexer() {\n const { maxTokens } = this._options;\n\n const token = this._lexer.advance();\n\n if (token.kind !== TokenKind.EOF) {\n ++this._tokenCounter;\n\n if (maxTokens !== undefined && this._tokenCounter > maxTokens) {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Document contains more that ${maxTokens} tokens. Parsing aborted.`,\n );\n }\n }\n }\n}\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n const value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? ` \"${value}\"` : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? `\"${kind}\"` : kind;\n}\n","import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { parse } from \"graphql\";\n\n/**\n * Hand-written typed documents for the 721 \"shop\" bendystraw queries, kept out\n * of the codegen'd `graphql.ts` so they can be added without refreshing the\n * whole generated schema. The field selections match the deployed\n * `bendystraw.xyz` schema (`nft.hook` is a relation, hence `hook { address }`).\n */\n\n/** A store-item purchase (a `mintNftEvent`). */\nexport interface ShopPurchase {\n chainId: number;\n projectId: number;\n timestamp: number;\n txHash: string;\n beneficiary: string;\n tierId: number;\n tokenId: string;\n totalAmountPaid: string;\n hook: string;\n}\n\n/** A currently-held store item (an indexed `nft`). */\nexport interface OwnedShopItem {\n chainId: number;\n projectId: number;\n createdAt: number;\n mintTx: string;\n hook: string;\n tokenId: string;\n owner: string;\n tierId: number;\n}\n\n/** Filter on a bendystraw list query. Only the fields the shop hooks set. */\ninterface ShopEventFilter {\n projectId?: number;\n chainId?: number;\n version?: number;\n beneficiary?: string;\n owner?: string;\n}\n\nexport interface ShopPurchasesResult {\n mintNftEvents: {\n totalCount: number;\n items: ShopPurchase[];\n };\n}\n\nexport interface OwnedShopItemsResult {\n nfts: {\n totalCount: number;\n items: (Omit<OwnedShopItem, \"hook\"> & {\n hook: { address: string } | null;\n })[];\n };\n}\n\nexport interface ShopQueryVariables {\n where?: ShopEventFilter;\n limit?: number;\n offset?: number;\n}\n\nexport const ShopPurchasesDocument = parse(/* GraphQL */ `\n query ShopPurchases($where: mintNftEventFilter, $limit: Int, $offset: Int) {\n mintNftEvents(\n where: $where\n orderBy: \"timestamp\"\n orderDirection: \"desc\"\n limit: $limit\n offset: $offset\n ) {\n totalCount\n items {\n chainId\n projectId\n timestamp\n txHash\n beneficiary\n tierId\n tokenId\n totalAmountPaid\n hook\n }\n }\n }\n`) as TypedDocumentNode<ShopPurchasesResult, ShopQueryVariables>;\n\nexport const OwnedShopItemsDocument = parse(/* GraphQL */ `\n query OwnedShopItems($where: nftFilter, $limit: Int, $offset: Int) {\n nfts(\n where: $where\n orderBy: \"createdAt\"\n orderDirection: \"desc\"\n limit: $limit\n offset: $offset\n ) {\n totalCount\n items {\n chainId\n projectId\n createdAt\n mintTx\n hook {\n address\n }\n tokenId\n owner\n tierId\n }\n }\n }\n`) as TypedDocumentNode<OwnedShopItemsResult, ShopQueryVariables>;\n","import { useMemo } from \"react\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport {\n OwnedShopItemsDocument,\n type OwnedShopItem,\n} from \"../../lib/bendystraw/queries/shop\";\nimport { useBendystrawQuery } from \"../../lib/bendystraw/useBendystrawQuery\";\n\n/**\n * The 721 store items `owner` currently holds for the project in context,\n * newest first — the basis for a redeem/cash-out list. Reads bendystraw `nfts`\n * for the context chain.\n *\n * The index can lag chain state, so verify ownership on-chain (`ownerOf`) before\n * offering or sending a redemption.\n *\n * @param args.owner The holder whose items to list. The query is disabled until set.\n * @param args.limit Page size. Defaults to 100.\n * @param args.offset Page offset for pagination. Defaults to 0.\n * @param args.enabled Whether to run the query. Defaults to true.\n */\nexport function useOwnedShopItems(args: {\n owner: string | undefined;\n limit?: number;\n offset?: number;\n enabled?: boolean;\n}) {\n const { owner, limit = 100, offset = 0, enabled = true } = args;\n const { projectId, version } = useJBContractContext();\n const chainId = useJBChainId();\n\n const { data, ...rest } = useBendystrawQuery(\n OwnedShopItemsDocument,\n {\n where: {\n projectId: Number(projectId),\n chainId: Number(chainId),\n version: Number(version),\n owner: (owner ?? \"\").toLowerCase(),\n },\n limit,\n offset,\n },\n { enabled: !!chainId && !!projectId && !!owner && enabled },\n );\n\n const items: OwnedShopItem[] | undefined = useMemo(\n () =>\n data?.nfts.items.map((item) => ({\n chainId: Number(item.chainId),\n projectId: Number(item.projectId),\n createdAt: Number(item.createdAt),\n mintTx: item.mintTx,\n hook: item.hook?.address ?? \"\",\n tokenId: String(item.tokenId),\n owner: String(item.owner).toLowerCase(),\n tierId: Number(item.tierId),\n })),\n [data],\n );\n\n return {\n data: items,\n totalCount: data?.nfts.totalCount,\n ...rest,\n };\n}\n","import {\n ETH_CURRENCY_ID,\n JBChainId,\n jbMultiTerminalAbi,\n jbMultiTerminalV5Abi,\n NATIVE_TOKEN,\n NATIVE_TOKEN_DECIMALS,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Return the current surplus of JB Native token, from the project's primary native terminal.\n */\nexport function useNativeTokenSurplus({\n chainId,\n}: { chainId?: JBChainId } = {}) {\n const {\n projectId,\n version,\n contracts: { primaryNativeTerminal },\n } = useJBContractContext();\n\n // `??` short-circuits, so calling the hook on the right-hand side would skip\n // it whenever a chain is passed — a hook-count change on the render where the\n // caller's chainId flips defined <-> undefined.\n const contextChainId = useJBChainId();\n const _chainId = chainId ?? contextChainId;\n\n // `projectId` and the primary terminal in context both belong to the context\n // chain: a project's id and its terminal differ per chain. Reading them\n // against another chain answers for the wrong project, so only the context\n // chain is quotable here — use `useSuckersNativeTokenSurplus` for the group.\n const isContextChain = !!_chainId && _chainId === contextChainId;\n\n // v6 takes token addresses; v4/v5 take accounting context structs.\n const v6Query = useReadContract({\n chainId: _chainId,\n abi: jbMultiTerminalAbi,\n functionName: \"currentSurplusOf\",\n address: primaryNativeTerminal.data ?? undefined,\n args: [\n projectId,\n [NATIVE_TOKEN],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ],\n query: { enabled: version === 6 && isContextChain },\n });\n\n const legacyQuery = useReadContract({\n chainId: _chainId,\n abi: jbMultiTerminalV5Abi,\n functionName: \"currentSurplusOf\",\n address: primaryNativeTerminal.data ?? undefined,\n args: [\n projectId,\n [\n {\n token: NATIVE_TOKEN,\n decimals: NATIVE_TOKEN_DECIMALS,\n currency: ETH_CURRENCY_ID,\n },\n ],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ],\n query: { enabled: version !== 6 && isContextChain },\n });\n\n return version === 6 ? v6Query : legacyQuery;\n}\n","import {\n ETH_CURRENCY_ID,\n getPrimaryNativeTerminal,\n JBChainId,\n jbMultiTerminalAbi,\n jbMultiTerminalV5Abi,\n NATIVE_TOKEN,\n NATIVE_TOKEN_DECIMALS,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the current surplus of JB Native token across each sucker on all chains for the current project.\n */\nexport function useSuckersNativeTokenSurplus() {\n const config = useConfig();\n\n const chainId = useJBChainId();\n const { projectId, version } = useJBContractContext();\n\n const { data: pairs = [], isLoading, isError } = useSuckers();\n\n const surplusQuery = useQuery({\n queryKey: [\n \"suckersNativeTokenSurplus\",\n projectId.toString(),\n chainId?.toString(),\n version,\n pairs?.map((pair) => pair.peerChainId).join(\",\"),\n ],\n queryFn: async () => {\n if (!chainId) return null;\n\n if (!pairs || pairs.length === 0) {\n return [];\n }\n\n /**\n * For each peer, get its terminal, then get the current surplus.\n */\n const surpluses = await Promise.all(\n pairs.map(async (pair) => {\n const { peerChainId, projectId } = pair;\n const terminal = await getPrimaryNativeTerminal(\n config,\n peerChainId,\n projectId,\n version,\n );\n\n // v6 takes token addresses; v4/v5 take accounting context structs.\n const surplus =\n version === 6\n ? await getContract({\n address: terminal,\n abi: jbMultiTerminalAbi,\n client: config.getClient({ chainId: peerChainId }),\n }).read.currentSurplusOf([\n projectId,\n [NATIVE_TOKEN],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ])\n : await getContract({\n address: terminal,\n abi: jbMultiTerminalV5Abi,\n client: config.getClient({ chainId: peerChainId }),\n }).read.currentSurplusOf([\n projectId,\n [\n {\n token: NATIVE_TOKEN,\n decimals: NATIVE_TOKEN_DECIMALS,\n currency: ETH_CURRENCY_ID,\n },\n ],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ]);\n\n return { surplus, chainId: peerChainId, projectId };\n }),\n );\n\n return surpluses;\n },\n });\n\n return {\n isLoading: surplusQuery.isLoading || isLoading,\n isError: surplusQuery.isError || isError,\n data: surplusQuery.data as\n | { surplus: bigint; chainId: JBChainId; projectId: bigint }[]\n | undefined,\n };\n}\n","import {\n applyJbDaoCashOutFee,\n ETH_CURRENCY_ID,\n getJBContractAddress,\n getProjectTerminalStore,\n getTokenCashOutQuoteEth,\n JBChainId,\n jbController4_1Abi,\n jbControllerAbi,\n jbControllerV5Abi,\n JBCoreContracts,\n jbDirectoryAbi,\n jbTerminalStoreAbi,\n jbTerminalStoreV5Abi,\n JBVersion,\n NATIVE_TOKEN,\n NATIVE_TOKEN_DECIMALS,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport { useQuery, UseQueryReturnType } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * V6 accounting contexts key currencies by token (`uint32(uint160(token))`), so the\n * native token's currency id is 61166 rather than V4/V5's `ETH_CURRENCY_ID` (1).\n * Quoting V6 in its own convention avoids a needless price-feed conversion.\n */\nconst V6_NATIVE_TOKEN_CURRENCY_ID = Number(BigInt(NATIVE_TOKEN) & 0xffffffffn);\n\nfunction nativeCurrencyId(version: JBVersion) {\n return version === 6 ? V6_NATIVE_TOKEN_CURRENCY_ID : ETH_CURRENCY_ID;\n}\n\nfunction controllerAbi(version: JBVersion) {\n if (version === 6) return jbControllerAbi;\n if (version === 5) return jbControllerV5Abi;\n return jbController4_1Abi;\n}\n\n/**\n * Return the amount of ETH (wei) received from cashing out [tokenAmountWei] project\n * tokens, net of the JBDAO cash-out fee, valued against the sucker group's aggregate\n * surplus and token supply: `tokenAmountWei × Σsurplus / Σsupply`, run through the\n * current ruleset's cash-out tax curve.\n *\n * A cash out executes on a single chain against that chain's local surplus and\n * supply, so an actual reclaim can differ from this group-wide value until sucker\n * syncs re-balance the group. The tax rate is read from the current chain's ruleset\n * (sucker group members share ruleset configuration).\n *\n * Returns `undefined` (not 0) while the quote is loading or when it failed.\n *\n * @param tokenAmountWei the amount of tokens to cash out.\n */\nexport function useSuckersCashOutQuote(tokenAmountWei: bigint) {\n const config = useConfig();\n const chainId = useJBChainId();\n const { projectId, version } = useJBContractContext();\n\n const { data: pairs = [], isLoading, error } = useSuckers();\n\n const suckersQuote: UseQueryReturnType<bigint | null> = useQuery({\n queryKey: [\n \"suckersTokenRedemptionQuote\",\n projectId.toString(),\n chainId?.toString(),\n version,\n tokenAmountWei.toString(),\n pairs.map((pair) => pair.peerChainId).join(\",\"),\n ],\n enabled: Boolean(!isLoading && chainId),\n queryFn: async () => {\n if (!chainId) return null;\n\n // The indexed sucker group includes the project's own chain. If the group\n // can't be resolved, fall back to quoting the current chain alone.\n const members =\n pairs.length > 0\n ? pairs\n : [{ peerChainId: chainId as JBChainId, projectId }];\n\n const [totals, cashOutTaxRate] = await Promise.all([\n Promise.all(\n members.map(({ peerChainId, projectId }) =>\n getChainSurplusAndSupply(\n config,\n peerChainId as JBChainId,\n projectId,\n version,\n ),\n ),\n ),\n getCashOutTaxRate(config, chainId, projectId, version),\n ]);\n\n return getTokenCashOutQuoteEth(tokenAmountWei, {\n overflowWei: totals.reduce((acc, { surplus }) => acc + surplus, 0n),\n totalSupply: totals.reduce(\n (acc, { totalSupply }) => acc + totalSupply,\n 0n,\n ),\n cashOutTaxRate,\n // `totalTokenSupplyWithReservedTokensOf` already includes pending\n // reserved tokens.\n tokensReserved: 0n,\n });\n },\n });\n\n // A missing quote means \"unknown\", not \"worth 0\": propagate undefined so\n // consumers can distinguish a failed or pending read from a zero value.\n const netTotal =\n suckersQuote.data != null\n ? applyJbDaoCashOutFee(suckersQuote.data)\n : undefined;\n\n return {\n data: netTotal,\n isLoading: suckersQuote.isLoading || isLoading,\n errors: [error, suckersQuote.error].filter(Boolean),\n };\n}\n\nasync function getChainSurplusAndSupply(\n config: ReturnType<typeof useConfig>,\n chainId: JBChainId,\n projectId: bigint,\n version: JBVersion,\n) {\n const client = config.getClient({ chainId });\n\n const terminalStore = getContract({\n address: getProjectTerminalStore(chainId, version),\n abi: version === 6 ? jbTerminalStoreAbi : jbTerminalStoreV5Abi,\n client,\n });\n\n const [surplus, controller] = await Promise.all([\n terminalStore.read.currentTotalSurplusOf([\n projectId,\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(nativeCurrencyId(version)),\n ]),\n getControllerAddress(config, chainId, projectId, version),\n ]);\n\n const totalSupply = await getContract({\n address: controller,\n abi: controllerAbi(version),\n client,\n }).read.totalTokenSupplyWithReservedTokensOf([projectId]);\n\n return { surplus, totalSupply };\n}\n\nasync function getCashOutTaxRate(\n config: ReturnType<typeof useConfig>,\n chainId: JBChainId,\n projectId: bigint,\n version: JBVersion,\n): Promise<number> {\n const controller = await getControllerAddress(\n config,\n chainId,\n projectId,\n version,\n );\n\n const [, metadata] = await getContract({\n address: controller,\n abi: controllerAbi(version),\n client: config.getClient({ chainId }),\n }).read.currentRulesetOf([projectId]);\n\n return Number(metadata.cashOutTaxRate);\n}\n\nasync function getControllerAddress(\n config: ReturnType<typeof useConfig>,\n chainId: JBChainId,\n projectId: bigint,\n version: JBVersion,\n) {\n return await getContract({\n address: getJBContractAddress(\n JBCoreContracts.JBDirectory,\n version,\n chainId,\n ),\n abi: jbDirectoryAbi,\n client: config.getClient({ chainId }),\n }).read.controllerOf([projectId]);\n}\n","import {\n ETH_CURRENCY_ID,\n JBChainId,\n NATIVE_TOKEN_DECIMALS,\n applyJbDaoCashOutFee,\n jbTerminalStoreAbi,\n jbTerminalStoreV5Abi,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useJBTerminalContext } from \"../../contexts/JBTerminalContext/JBTerminalContext\";\nimport { useReadContract } from \"wagmi\";\n\n/**\n * Return the amount of ETH (wei) received from redeerming [tokenAmountWei] project tokens.\n */\nexport function useTokenCashOutQuoteEth(\n tokenAmountWei: bigint | undefined,\n { chainId }: { chainId?: JBChainId },\n) {\n const { projectId, version } = useJBContractContext();\n const { store } = useJBTerminalContext();\n const jbChainId = useJBChainId();\n const _chainId = chainId ?? jbChainId;\n\n // `projectId` and the terminal store in context both belong to the context\n // chain: a project's id and its store differ per chain. Reading them against\n // another chain quotes the wrong project, so only the context chain is\n // quotable here — use `useSuckersCashOutQuote` for the group-wide value.\n const isContextChain = !!_chainId && _chainId === jbChainId;\n\n // The two array args are empty either way, but the selector differs: v6 takes\n // (address[], address[]) where v4/v5 take (address[], tuple[]).\n return useReadContract({\n abi: version === 6 ? jbTerminalStoreAbi : jbTerminalStoreV5Abi,\n functionName: \"currentReclaimableSurplusOf\",\n chainId: _chainId,\n address: store.data ?? undefined,\n args: tokenAmountWei\n ? [\n projectId,\n tokenAmountWei,\n [],\n [],\n BigInt(NATIVE_TOKEN_DECIMALS),\n BigInt(ETH_CURRENCY_ID),\n ]\n : undefined,\n query: {\n enabled: isContextChain && !!store.data && !!tokenAmountWei,\n select(data: bigint) {\n return applyJbDaoCashOutFee(data);\n },\n },\n });\n}\n","import { ONE_JB_TOKEN } from \"@bananapus/nana-sdk-core\";\nimport { formatEther } from \"viem\";\nimport { useEtherPrice } from \"../useEtherPrice\";\nimport { useSuckersCashOutQuote } from \"./useSuckersCashOutQuote\";\n\n/**\n * Return the current cashout value of one project token.\n */\nexport function useSuckersTokenCashOutValue({\n targetCurrency,\n}: {\n targetCurrency: \"eth\" | \"usd\";\n}) {\n const {\n data: ethPrice,\n isLoading: isEthLoading,\n error: ethPriceError,\n } = useEtherPrice();\n\n const {\n data: quote,\n isLoading: isQuoteLoading,\n errors,\n } = useSuckersCashOutQuote(ONE_JB_TOKEN);\n\n const loading = isQuoteLoading || isEthLoading;\n\n if (loading) {\n return { loading: true, data: undefined };\n }\n\n // A missing quote means the read failed, not that the token is worth 0.\n if (quote == null) {\n return { loading, data: undefined, errors };\n }\n\n const quoteEth = parseFloat(formatEther(quote));\n\n if (targetCurrency === \"eth\") {\n return { loading, data: quoteEth, errors };\n }\n\n // Same rule for the USD leg: a failed price fetch means the value is unknown,\n // not that a token is worth $0. Surface the price error alongside the others.\n const allErrors = ethPriceError ? [...errors, ethPriceError] : errors;\n if (ethPrice === undefined) {\n return { loading, data: undefined, errors: allErrors };\n }\n\n return {\n loading,\n data: quoteEth * ethPrice,\n errors: allErrors,\n };\n}\n","import { useQuery, UseQueryReturnType } from \"wagmi/query\";\n\n/**\n * Chainlink feed doesn't tend to up date that quickly.\n * Refresh every 5 minutes.\n */\nconst PRICE_REFRESH_INTERVAL = 60 * 1000 * 5; // 5 minutes\n\n/**\n * The default price route. It is one deployment's public API, not a protocol\n * endpoint — pass `endpoint` to read the price from somewhere else.\n */\nexport const DEFAULT_ETHER_PRICE_ENDPOINT =\n \"https://juicebox.money/api/juicebox/prices/ethusd\";\n\n/**\n * Return the current price of ETH in USD.\n * @example 1234.69\n */\nexport function useEtherPrice({\n endpoint = DEFAULT_ETHER_PRICE_ENDPOINT,\n}: { endpoint?: string } = {}): UseQueryReturnType<number> {\n return useQuery({\n queryKey: [\"juice-sdk\", \"etherPrice\", endpoint],\n queryFn: async () => {\n const response = await fetch(endpoint);\n // Without this an error page's body parses as `{}` and the price reads\n // as `undefined`, which downstream becomes a $0 valuation.\n if (!response.ok) {\n throw new Error(`Ether price request failed (${response.status}).`);\n }\n const { price } = (await response.json()) as { price: number };\n return price;\n },\n staleTime: PRICE_REFRESH_INTERVAL,\n // `staleTime` alone only marks the price stale; nothing refetches it on a\n // page that stays mounted, so the quoted price silently ages.\n refetchInterval: PRICE_REFRESH_INTERVAL,\n });\n}\n","import {\n JBChainId,\n JBCoreContracts,\n JBProjectToken,\n jbTokensAbi,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useAccount, useConfig, useReadContract } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the user's project token balance across each sucker on all chains for the current project.\n */\nexport function useSuckersUserTokenBalance() {\n const config = useConfig();\n\n const chainId = useJBChainId();\n const { projectId, version, contractAddress } = useJBContractContext();\n const { address: userAddress } = useAccount();\n\n // `contractAddress` throws for a chain with no deployment, and it runs in the\n // render body — before any `enabled` gate can help. An unresolvable address\n // disables the read instead of taking the tree down.\n let jbTokensAddress: `0x${string}` | undefined;\n try {\n jbTokensAddress = chainId\n ? contractAddress(JBCoreContracts.JBTokens)\n : undefined;\n } catch {\n jbTokensAddress = undefined;\n }\n\n const currentChainQuery = useReadContract({\n abi: jbTokensAbi,\n functionName: \"totalBalanceOf\",\n address: jbTokensAddress,\n chainId,\n args: userAddress ? [userAddress, projectId] : undefined,\n query: {\n enabled: !!userAddress && !!jbTokensAddress,\n select(data) {\n return new JBProjectToken(data);\n },\n },\n });\n const { data: pairs = [], isLoading, isError } = useSuckers();\n\n const balanceQuery = useQuery({\n // The balances are keyed to a wallet and a protocol version as much as to a\n // project: without them a previous account's (or version's) balances are\n // served to the next one.\n queryKey: [\n \"suckersUserTokenBalance\",\n projectId.toString(),\n chainId?.toString(),\n version,\n userAddress,\n currentChainQuery.data?.value.toString(),\n pairs?.map((pair) => pair.peerChainId).join(\",\"),\n ],\n queryFn: async () => {\n if (!chainId || !userAddress) return null;\n\n const currentChain = {\n balance: currentChainQuery.data ?? new JBProjectToken(0n),\n chainId,\n projectId,\n };\n\n if (!pairs || pairs.length === 0) {\n return [currentChain];\n }\n\n const balances = await Promise.all(\n pairs.map(async (pair) => {\n const { peerChainId, projectId } = pair;\n const contract = getContract({\n address: contractAddress(JBCoreContracts.JBTokens, peerChainId),\n abi: jbTokensAbi,\n client: config.getClient({ chainId: peerChainId }),\n });\n\n const balance = await contract.read.totalBalanceOf([\n userAddress,\n projectId,\n ]);\n\n return {\n balance: new JBProjectToken(balance),\n chainId: peerChainId,\n projectId,\n };\n }),\n );\n\n if (\n !balances.some((balance) => balance.chainId === currentChain.chainId)\n ) {\n // Add the current chain's balance to the list.\n balances.push(currentChain);\n }\n\n return balances;\n },\n });\n\n return {\n isLoading: balanceQuery.isLoading || isLoading,\n isError: balanceQuery.isError || isError,\n data: balanceQuery.data as\n | { balance: JBProjectToken; chainId: JBChainId; projectId: bigint }[]\n | undefined,\n };\n}\n","import {\n getPrimaryNativeTerminal,\n getProjectTerminalStore,\n jbTerminalStoreAbi,\n NATIVE_TOKEN,\n} from \"@bananapus/nana-sdk-core\";\nimport { getContract } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport { useQuery } from \"wagmi/query\";\nimport { useJBChainId } from \"../../contexts/JBChainContext/JBChainContext\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useSuckers } from \"../suckers/useSuckers\";\n\n/**\n * Return the current surplus of JB Native token across each sucker on all chains for the current project.\n */\nexport function useSuckersNativeTokenBalance() {\n const config = useConfig();\n\n const chainId = useJBChainId();\n const { projectId, version } = useJBContractContext();\n\n const { data: pairs = [], isLoading, isError } = useSuckers();\n\n const balanceQuery = useQuery({\n // The terminal store address is version-specific, so the version is part of\n // the read's identity (as it already is in `useSuckersCashOutQuote`).\n queryKey: [\n \"suckersNativeTokenBalance\",\n projectId.toString(),\n chainId?.toString(),\n version,\n pairs.map((pair) => pair.peerChainId).join(\",\"),\n ],\n queryFn: async () => {\n if (!chainId) return null;\n if (!pairs || pairs.length === 0) return [];\n\n /**\n * For each peer, get its terminal, then get the current surplus.\n */\n const balances = await Promise.all(\n pairs.map(async (pair) => {\n const { peerChainId, projectId } = pair;\n const terminal = await getPrimaryNativeTerminal(\n config,\n peerChainId,\n projectId,\n version,\n );\n\n const contract = getContract({\n address: getProjectTerminalStore(peerChainId, version),\n abi: jbTerminalStoreAbi,\n client: config.getClient({ chainId: peerChainId }),\n });\n\n const balance = await contract.read.balanceOf([\n terminal,\n projectId,\n NATIVE_TOKEN,\n ]);\n\n return { balance, chainId: peerChainId, projectId };\n }),\n );\n\n return balances;\n },\n });\n\n return {\n isLoading: balanceQuery.isLoading || isLoading,\n isError: balanceQuery.isError || isError,\n data: balanceQuery.data as\n | { balance: bigint; chainId: number; projectId: bigint }[]\n | undefined,\n };\n}\n","import {\n CashOutTaxRate,\n JBChainId,\n jbControllerAbi,\n ReservedPercent,\n RulesetWeight,\n WeightCutPercent,\n} from \"@bananapus/nana-sdk-core\";\nimport { useReadContract } from \"wagmi\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useResolveDataHook } from \"./useResolveDataHook\";\n\nexport function useJBRuleset({\n projectId,\n chainId,\n}: {\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n}) {\n const { contracts, version } = useJBContractContext();\n\n const query = useReadContract({\n chainId,\n abi: jbControllerAbi,\n functionName: \"currentRulesetOf\",\n address: contracts?.controller?.data ?? undefined,\n args: projectId ? [projectId] : undefined,\n query: {\n enabled: !!projectId && !!contracts?.controller?.data,\n select([ruleset, rulesetMetadata]) {\n return {\n data: {\n ...ruleset,\n weight: new RulesetWeight(ruleset.weight),\n weightCutPercent: new WeightCutPercent(ruleset.weightCutPercent),\n },\n metadata: {\n ...rulesetMetadata,\n cashOutTaxRate: new CashOutTaxRate(rulesetMetadata.cashOutTaxRate),\n reservedPercent: new ReservedPercent(\n rulesetMetadata.reservedPercent,\n ),\n // v4/v5 store the INVERSE flag (`useTotalSurplusForCashOuts`) in this slot;\n // normalize to the v6 field's semantics.\n scopeCashOutsToLocalBalances:\n version === 6\n ? rulesetMetadata.scopeCashOutsToLocalBalances\n : !rulesetMetadata.scopeCashOutsToLocalBalances,\n },\n };\n },\n },\n });\n\n const rulesetId = query.data?.data?.id;\n\n const { resolvedDataHook, isLoading: isDataHookLoading } = useResolveDataHook(\n {\n dataHookAddress: query.data?.metadata?.dataHook,\n projectId,\n chainId,\n // Ruleset 0 is not a ruleset. Passing it as a real id would query the\n // deployer for a ruleset that cannot exist.\n rulesetId: rulesetId === undefined ? undefined : BigInt(rulesetId),\n },\n );\n\n return {\n ruleset: query.data?.data,\n // Withhold the metadata until the data hook behind the omnichain deployer\n // is known, rather than publishing the deployer address as the hook.\n rulesetMetadata:\n query.data?.metadata && resolvedDataHook\n ? { ...query.data.metadata, dataHook: resolvedDataHook }\n : undefined,\n ...query,\n // A read disabled while its controller is still resolving reports\n // `isLoading: false`, which reads as \"this project has no ruleset\".\n isLoading: Boolean(\n query.isLoading || contracts?.controller?.isLoading || isDataHookLoading,\n ),\n };\n}\n","import {\n CashOutTaxRate,\n JBChainId,\n jbControllerAbi,\n JBRulesetData,\n JBRulesetMetadata,\n ReservedPercent,\n RulesetWeight,\n WeightCutPercent,\n} from \"@bananapus/nana-sdk-core\";\nimport { useReadContract } from \"wagmi\";\nimport { useJBContractContext } from \"../../contexts/JBContractContext/JBContractContext\";\nimport { useResolveDataHook } from \"./useResolveDataHook\";\n\nexport function useJBUpcomingRuleset({\n projectId,\n chainId,\n}: {\n projectId: bigint | undefined;\n chainId: JBChainId | undefined;\n}): {\n ruleset: JBRulesetData | undefined;\n rulesetMetadata: JBRulesetMetadata | undefined;\n isLoading: boolean;\n} {\n const { contracts, version } = useJBContractContext();\n\n const controllerAddress = contracts.controller?.data ?? undefined;\n\n const { data, isLoading } = useReadContract({\n abi: jbControllerAbi,\n functionName: \"upcomingRulesetOf\",\n address: controllerAddress,\n args: projectId ? [projectId] : undefined,\n chainId,\n });\n\n const _latestUpcomingRuleset = data?.[0];\n const _latestUpcomingRulesetMetadata = data?.[1];\n\n // Resolve the actual data hook address\n const { resolvedDataHook, isLoading: isDataHookLoading } = useResolveDataHook(\n {\n dataHookAddress: _latestUpcomingRulesetMetadata?.dataHook,\n projectId,\n chainId,\n // Ruleset 0 is not a ruleset; don't fabricate one for the deployer lookup.\n rulesetId:\n _latestUpcomingRuleset?.id === undefined\n ? undefined\n : BigInt(_latestUpcomingRuleset.id),\n },\n );\n\n const latestUpcomingRuleset = _latestUpcomingRuleset\n ? {\n ..._latestUpcomingRuleset,\n weight: new RulesetWeight(_latestUpcomingRuleset.weight),\n weightCutPercent: new WeightCutPercent(\n _latestUpcomingRuleset.weightCutPercent,\n ),\n }\n : undefined;\n\n const latestUpcomingRulesetMetadata =\n _latestUpcomingRulesetMetadata && resolvedDataHook\n ? {\n ..._latestUpcomingRulesetMetadata,\n reservedPercent: new ReservedPercent(\n _latestUpcomingRulesetMetadata.reservedPercent,\n ),\n cashOutTaxRate: new CashOutTaxRate(\n _latestUpcomingRulesetMetadata.cashOutTaxRate,\n ),\n // v4/v5 store the INVERSE flag (`useTotalSurplusForCashOuts`) in this slot;\n // normalize to the v6 field's semantics.\n scopeCashOutsToLocalBalances:\n version === 6\n ? _latestUpcomingRulesetMetadata.scopeCashOutsToLocalBalances\n : !_latestUpcomingRulesetMetadata.scopeCashOutsToLocalBalances,\n dataHook: resolvedDataHook,\n }\n : undefined;\n\n return {\n ruleset: latestUpcomingRuleset,\n rulesetMetadata: latestUpcomingRulesetMetadata,\n // A read disabled while its controller is still resolving reports\n // `isLoading: false`, which reads as \"there is no upcoming ruleset\".\n isLoading: Boolean(\n isLoading || contracts.controller?.isLoading || isDataHookLoading,\n ),\n };\n}\n","export const API = \"https://api.relayr.ba5ed.com\";\nexport const DASHBOARD = \"https://relayr.ba5ed.com\";\n","import {\n JBChainId,\n JBVersion,\n jbContractAddress,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../../../contexts/JBContractContext/JBContractContext\";\nimport { useMutation } from \"wagmi/query\";\nimport { API } from \"../constants\";\nimport { RelayrPostBundleResponse } from \"../types\";\n\nexport function useRequestRelayrQuote() {\n const { version: contextVersion } = useJBContractContext();\n\n return useMutation({\n mutationFn: async (\n args: {\n data: `0x${string}`;\n chain: JBChainId;\n value: string;\n version?: JBVersion;\n }[],\n ) => {\n const transactions = args.map((ct) => {\n return {\n chain: ct.chain,\n data: ct.data,\n target:\n jbContractAddress[ct.version ?? contextVersion][\"ERC2771Forwarder\"][\n ct.chain\n ],\n value: ct.value,\n };\n });\n\n const response = await fetch(`${API}/v1/bundle/prepaid`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n transactions,\n virtual_nonce_mode: \"Disabled\",\n }),\n });\n\n if (!response.ok) {\n console.error(\"Relayr ERROR:: \", response);\n const errorMessage = await response.text();\n throw new Error(errorMessage);\n }\n\n return (await response.json()) as RelayrPostBundleResponse;\n },\n });\n}\n","import {\n JBChainId,\n JBVersion,\n erc2771ForwarderAbi,\n jbContractAddress,\n} from \"@bananapus/nana-sdk-core\";\nimport { useJBContractContext } from \"../../../contexts/JBContractContext/JBContractContext\";\nimport { Address, Hash, encodeFunctionData, getContract } from \"viem\";\nimport { useAccount, useConfig, useSignTypedData, useSwitchChain } from \"wagmi\";\n\nexport type ERC2771ForwardRequestData = {\n from: Address;\n to: Address;\n value: bigint;\n gas: bigint;\n data: Hash;\n};\n\nexport function useSignErc2771ForwardRequest() {\n const { switchChainAsync } = useSwitchChain();\n const { address } = useAccount();\n const config = useConfig();\n const { signTypedDataAsync } = useSignTypedData();\n const { version: contextVersion } = useJBContractContext();\n\n async function sign(\n messageData: ERC2771ForwardRequestData,\n chainId: JBChainId,\n version?: JBVersion,\n ) {\n if (!address) {\n throw new Error(\"Wallet account is not connected\");\n }\n if (messageData.from.toLowerCase() !== address.toLowerCase()) {\n throw new Error(\n \"Forward request signer does not match the connected account\",\n );\n }\n\n await switchChainAsync({ chainId });\n\n const verifyingContract =\n jbContractAddress[version ?? contextVersion][\"ERC2771Forwarder\"][chainId];\n\n // 48hrs\n const deadline = Number(\n ((Date.now() + 3600 * 48 * 1000) / 1000).toFixed(0),\n );\n\n const contract = getContract({\n address: verifyingContract,\n abi: erc2771ForwarderAbi,\n client: config.getClient({ chainId }),\n });\n\n // Keep RPC failures outside the callback promise so they reject `sign`\n // instead of leaving the caller waiting indefinitely.\n const nonce = await contract.read.nonces([address]);\n\n const signature = await signTypedDataAsync({\n // Pin the checked account across the asynchronous chain/RPC work.\n account: address,\n domain: {\n name: \"Juicebox\",\n chainId,\n verifyingContract,\n version: \"1\",\n },\n primaryType: \"ForwardRequest\",\n types: {\n ForwardRequest: [\n { name: \"from\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"gas\", type: \"uint256\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint48\" },\n { name: \"data\", type: \"bytes\" },\n ],\n },\n message: { ...messageData, deadline, nonce },\n });\n\n // Encoding failures must reject `sign`, not escape an async callback and\n // leave callers waiting forever.\n return encodeFunctionData({\n abi: erc2771ForwarderAbi,\n functionName: \"execute\",\n args: [{ ...messageData, deadline, signature }],\n });\n }\n\n return {\n sign,\n };\n}\n","import { JBChainId, JBVersion } from \"@bananapus/nana-sdk-core\";\nimport { useRequestRelayrQuote } from \"./useRequestRelayrQuote\";\nimport {\n ERC2771ForwardRequestData,\n useSignErc2771ForwardRequest,\n} from \"./useSignErc2771ForwardRequest\";\n\n/**\n * Hook to get transaction quote from relayr.\n */\nexport function useGetRelayrTxQuote() {\n const requestRelayrQuote = useRequestRelayrQuote();\n const { sign } = useSignErc2771ForwardRequest();\n\n /**\n * Prompt user to sign transactions for each chain, then fetch transaction data from relayr.\n *\n * Each transaction may carry a `version` to target that JB version's forwarder (defaults to\n * the context version).\n */\n async function getRelayrTxQuote(\n data: {\n chainId: JBChainId;\n data: ERC2771ForwardRequestData;\n version?: JBVersion;\n }[],\n ) {\n if (!data?.length) throw new Error(\"There are no Relayr calls to quote\");\n\n // Signing does not consume the forwarder nonce. Duplicates would authorize\n // the same nonce and make at least one paid destination call fail.\n const seenSigners = new Set<string>();\n for (const request of data) {\n const key = `${request.chainId}:${request.data.from.toLowerCase()}`;\n if (seenSigners.has(key)) {\n throw new Error(\n \"Relayr supports only one forward request per account and chain\",\n );\n }\n seenSigners.add(key);\n }\n\n /**\n * Prompt user to sign transactions for each chain\n */\n const txDataRequest = [];\n for (const d of data) {\n const signedData = await sign(d.data, d.chainId, d.version);\n txDataRequest.push({\n chain: d.chainId,\n data: signedData,\n // The forwarder needs the forward request's value passed along with the execute call.\n value: d.data.value.toString(),\n version: d.version,\n });\n }\n\n /**\n * Fetch transaction data from relayr\n * You'll eventually submit a transaction with this data onchain.\n */\n return await requestRelayrQuote.mutateAsync(txDataRequest);\n }\n\n return {\n getRelayrTxQuote,\n ...requestRelayrQuote,\n };\n}\n","import { useCallback, useMemo, useState } from \"react\";\nimport { useQuery } from \"wagmi/query\";\nimport { API } from \"../constants\";\nimport { RelayrGetBundleResponse } from \"../types\";\n\nconst POLL_INTERVAL = 2000;\n\nconst transactionSucceeded = (state: string) =>\n state === \"Success\" || state === \"Completed\";\n\nconst areTransactionsComplete = (\n response: RelayrGetBundleResponse | undefined,\n) =>\n !!response?.transactions?.length &&\n response.transactions.every((tx) => transactionSucceeded(tx.status.state));\n\nconst hasTransactionFailure = (response: RelayrGetBundleResponse | undefined) =>\n !!response?.transactions?.some((tx) => tx.status.state === \"Failed\");\n\nconst fetchTxBundle = async (\n uuid: string | undefined,\n signal?: AbortSignal,\n): Promise<RelayrGetBundleResponse> => {\n if (!uuid) {\n throw new Error(\"No UUID provided\");\n }\n const response = await fetch(`${API}/v1/bundle/${uuid}`, { signal });\n if (!response.ok) {\n const errorMessage = await response.text();\n throw new Error(errorMessage);\n }\n return response.json();\n};\n\nexport function useGetRelayrTxBundle() {\n const [uuid, setUuid] = useState<string>();\n\n const getRelayrTxBundle = useQuery<\n RelayrGetBundleResponse,\n Error,\n RelayrGetBundleResponse,\n [\"txBundle\", string | undefined]\n >({\n queryKey: [\"txBundle\", uuid],\n queryFn: ({ signal }) => fetchTxBundle(uuid, signal),\n enabled: !!uuid,\n refetchInterval: (query) =>\n areTransactionsComplete(query.state.data) ||\n hasTransactionFailure(query.state.data)\n ? false\n : POLL_INTERVAL,\n });\n\n const startPolling = useCallback(\n (bundleUuid: string) => {\n if (bundleUuid === uuid) {\n void getRelayrTxBundle.refetch();\n return;\n }\n\n setUuid(bundleUuid);\n },\n [getRelayrTxBundle.refetch, uuid],\n );\n\n const isComplete = useMemo(\n () => areTransactionsComplete(getRelayrTxBundle.data),\n [getRelayrTxBundle.data],\n );\n const hasFailed = useMemo(\n () => hasTransactionFailure(getRelayrTxBundle.data),\n [getRelayrTxBundle.data],\n );\n\n return {\n startPolling,\n isComplete,\n hasFailed,\n uuid,\n response: getRelayrTxBundle.data,\n // A bundle whose fetches keep erroring is not still polling: without the\n // error term a consumer's spinner never stops.\n isPolling: !!uuid && !isComplete && !hasFailed && !getRelayrTxBundle.error,\n isFetching: getRelayrTxBundle.isFetching,\n error: getRelayrTxBundle.error,\n };\n}\n","import { useCallback } from \"react\";\nimport { useChainId, useSwitchChain, useSendTransaction } from \"wagmi\";\nimport { ChainPayment } from \"../types\";\n\n/**\n * Submit a relayr-given transaction onchain.\n */\nexport function useSendRelayrTx() {\n const chainId = useChainId();\n const { switchChainAsync } = useSwitchChain();\n const _sendTransaction = useSendTransaction();\n\n const sendRelayrTx = useCallback(\n async (chainPayment: ChainPayment) => {\n if (chainId !== chainPayment.chain) {\n try {\n await switchChainAsync({ chainId: chainPayment.chain });\n } catch (e) {\n console.error(e);\n throw new Error(\"Failed to switch to correct chain\");\n }\n }\n\n return await _sendTransaction.sendTransactionAsync({\n chainId: chainPayment.chain,\n to: chainPayment.target,\n value: BigInt(chainPayment.amount),\n data: chainPayment.calldata,\n });\n },\n [_sendTransaction.sendTransactionAsync, chainId, switchChainAsync],\n );\n\n return {\n sendRelayrTx,\n isPending: _sendTransaction.isPending,\n error: _sendTransaction.error,\n isSuccess: _sendTransaction.isSuccess,\n data: _sendTransaction.data,\n };\n}\n"],"mappings":"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","names":["NATIVE_TOKEN","debug","jbDirectoryAbi","jbControllerAbi","jbContractAddress","JBCoreContracts","getJBContractAddress","createContext","useContext","useMemo","isAddressEqual","zeroAddress","debug","debug","createContext","useContext","useReadContract","useReadContract","jsx","createContext","useContext","useReadContract","ruleset","debug","createContext","useContext","debug","jsx","createContext","useContext","debug","debug","useQuery","createContext","useContext","debug","jsx","debug","debug","createContext","useContext","usePublicClient","useQuery","jsx","createContext","useContext","usePublicClient","useQuery","debug","jbControllerAbi","createContext","useContext","isAddressEqual","zeroAddress","useReadContract","jsx","createContext","useContext","useReadContract","isAddressEqual","zeroAddress","jbControllerAbi","debug","createContext","useContext","isAddressEqual","zeroAddress","useReadContract","jsx","createContext","useContext","isAddressEqual","zeroAddress","jsx","debug","jsx","createContext","useContext","JB_CHAINS","useQuery","mainnet","useMemo","mainnet","debug","useMemo","OperationTypeNode","DirectiveLocation","Kind","TokenKind","instanceOf","useMemo","useMemo","useMemo","jbMultiTerminalAbi","NATIVE_TOKEN_DECIMALS","useReadContract","jbMultiTerminalAbi","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","jbMultiTerminalAbi","jbMultiTerminalV5Abi","NATIVE_TOKEN","NATIVE_TOKEN_DECIMALS","useQuery","useQuery","projectId","jbMultiTerminalAbi","NATIVE_TOKEN","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","jbMultiTerminalV5Abi","ETH_CURRENCY_ID","getJBContractAddress","jbControllerAbi","JBCoreContracts","NATIVE_TOKEN","NATIVE_TOKEN_DECIMALS","getContract","useConfig","useQuery","NATIVE_TOKEN","ETH_CURRENCY_ID","jbControllerAbi","useConfig","useQuery","projectId","getContract","NATIVE_TOKEN_DECIMALS","getJBContractAddress","JBCoreContracts","ETH_CURRENCY_ID","NATIVE_TOKEN_DECIMALS","applyJbDaoCashOutFee","jbTerminalStoreAbi","jbTerminalStoreV5Abi","useReadContract","jbTerminalStoreAbi","jbTerminalStoreV5Abi","NATIVE_TOKEN_DECIMALS","ETH_CURRENCY_ID","applyJbDaoCashOutFee","useQuery","JBCoreContracts","JBProjectToken","jbTokensAbi","getContract","useAccount","useConfig","useReadContract","useQuery","useConfig","useAccount","JBCoreContracts","useReadContract","jbTokensAbi","JBProjectToken","useQuery","projectId","getContract","getPrimaryNativeTerminal","getProjectTerminalStore","jbTerminalStoreAbi","NATIVE_TOKEN","getContract","useConfig","useQuery","useConfig","useQuery","projectId","getPrimaryNativeTerminal","getContract","getProjectTerminalStore","jbTerminalStoreAbi","NATIVE_TOKEN","CashOutTaxRate","jbControllerAbi","ReservedPercent","RulesetWeight","WeightCutPercent","useReadContract","useReadContract","jbControllerAbi","RulesetWeight","WeightCutPercent","CashOutTaxRate","ReservedPercent","CashOutTaxRate","jbControllerAbi","ReservedPercent","RulesetWeight","WeightCutPercent","useReadContract","useReadContract","jbControllerAbi","RulesetWeight","WeightCutPercent","ReservedPercent","CashOutTaxRate","useReadContract","jsx","createContext","useContext","DynamicContract","jbContractAddress","JBCoreContracts","jbDirectoryAbi","NATIVE_TOKEN","useMemo","isAddressEqual","zeroAddress","jbControllerAbi","getJBContractAddress","debug","jbContractAddress","jbContractAddress","jbContractAddress","getContract","useAccount","useConfig","jbContractAddress","useCallback","useMemo","useQuery","useQuery","useCallback","useMemo","useCallback","useSwitchChain"]}
|