dop-wallet-v6 1.1.5
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/.eslintrc.js +73 -0
- package/.prettierrc.js +21 -0
- package/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/services/artifacts/artifact-downloader.d.ts +13 -0
- package/dist/services/artifacts/artifact-downloader.js +131 -0
- package/dist/services/artifacts/artifact-downloader.js.map +1 -0
- package/dist/services/artifacts/artifact-hash.d.ts +4 -0
- package/dist/services/artifacts/artifact-hash.js +54 -0
- package/dist/services/artifacts/artifact-hash.js.map +1 -0
- package/dist/services/artifacts/artifact-store.d.ts +12 -0
- package/dist/services/artifacts/artifact-store.js +12 -0
- package/dist/services/artifacts/artifact-store.js.map +1 -0
- package/dist/services/artifacts/artifact-util.d.ts +7 -0
- package/dist/services/artifacts/artifact-util.js +83 -0
- package/dist/services/artifacts/artifact-util.js.map +1 -0
- package/dist/services/artifacts/index.d.ts +2 -0
- package/dist/services/artifacts/index.js +19 -0
- package/dist/services/artifacts/index.js.map +1 -0
- package/dist/services/artifacts/json/artifact-v2-hashes.json +337 -0
- package/dist/services/dop/core/artifacts.d.ts +10 -0
- package/dist/services/dop/core/artifacts.js +69 -0
- package/dist/services/dop/core/artifacts.js.map +1 -0
- package/dist/services/dop/core/engine.d.ts +25 -0
- package/dist/services/dop/core/engine.js +103 -0
- package/dist/services/dop/core/engine.js.map +1 -0
- package/dist/services/dop/core/index.d.ts +5 -0
- package/dist/services/dop/core/index.js +22 -0
- package/dist/services/dop/core/index.js.map +1 -0
- package/dist/services/dop/core/prover.d.ts +3 -0
- package/dist/services/dop/core/prover.js +14 -0
- package/dist/services/dop/core/prover.js.map +1 -0
- package/dist/services/dop/core/providers.d.ts +18 -0
- package/dist/services/dop/core/providers.js +162 -0
- package/dist/services/dop/core/providers.js.map +1 -0
- package/dist/services/dop/core/shields.d.ts +7 -0
- package/dist/services/dop/core/shields.js +20 -0
- package/dist/services/dop/core/shields.js.map +1 -0
- package/dist/services/dop/history/transaction-history.d.ts +4 -0
- package/dist/services/dop/history/transaction-history.js +166 -0
- package/dist/services/dop/history/transaction-history.js.map +1 -0
- package/dist/services/dop/index.d.ts +4 -0
- package/dist/services/dop/index.js +21 -0
- package/dist/services/dop/index.js.map +1 -0
- package/dist/services/dop/process/extract-first-note.d.ts +6 -0
- package/dist/services/dop/process/extract-first-note.js +163 -0
- package/dist/services/dop/process/extract-first-note.js.map +1 -0
- package/dist/services/dop/process/index.d.ts +1 -0
- package/dist/services/dop/process/index.js +18 -0
- package/dist/services/dop/process/index.js.map +1 -0
- package/dist/services/dop/quick-sync/empty-events.d.ts +2 -0
- package/dist/services/dop/quick-sync/empty-events.js +9 -0
- package/dist/services/dop/quick-sync/empty-events.js.map +1 -0
- package/dist/services/dop/quick-sync/graph-type-formatters.d.ts +13 -0
- package/dist/services/dop/quick-sync/graph-type-formatters.js +168 -0
- package/dist/services/dop/quick-sync/graph-type-formatters.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-goerli/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-goerli/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-goerli/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-goerli/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-goerli/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-goerli/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-one/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-one/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-one/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-one/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-one/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/arbitrum-one/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/bsc/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/bsc/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/bsc/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/bsc/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/bsc/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/bsc/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/ethereum/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/ethereum/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/ethereum/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/ethereum/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/ethereum/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/ethereum/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/goerli/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/goerli/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/goerli/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/goerli/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/goerli/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/goerli/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/matic/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/matic/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/matic/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/matic/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/matic/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/matic/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/mumbai/introspectionSchema.d.ts +2 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/mumbai/introspectionSchema.js +24081 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/mumbai/introspectionSchema.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/mumbai/types.d.ts +1628 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/mumbai/types.js +4 -0
- package/dist/services/dop/quick-sync/graphql/.graphclient/sources/mumbai/types.js.map +1 -0
- package/dist/services/dop/quick-sync/graphql/index.d.ts +1976 -0
- package/dist/services/dop/quick-sync/graphql/index.js +512 -0
- package/dist/services/dop/quick-sync/graphql/index.js.map +1 -0
- package/dist/services/dop/quick-sync/quick-sync-graph.d.ts +2 -0
- package/dist/services/dop/quick-sync/quick-sync-graph.js +150 -0
- package/dist/services/dop/quick-sync/quick-sync-graph.js.map +1 -0
- package/dist/services/dop/util/bytes.d.ts +5 -0
- package/dist/services/dop/util/bytes.js +21 -0
- package/dist/services/dop/util/bytes.js.map +1 -0
- package/dist/services/dop/util/commitment.d.ts +2 -0
- package/dist/services/dop/util/commitment.js +17 -0
- package/dist/services/dop/util/commitment.js.map +1 -0
- package/dist/services/dop/util/crypto.d.ts +14 -0
- package/dist/services/dop/util/crypto.js +79 -0
- package/dist/services/dop/util/crypto.js.map +1 -0
- package/dist/services/dop/util/db.d.ts +2 -0
- package/dist/services/dop/util/db.js +6 -0
- package/dist/services/dop/util/db.js.map +1 -0
- package/dist/services/dop/util/index.d.ts +4 -0
- package/dist/services/dop/util/index.js +21 -0
- package/dist/services/dop/util/index.js.map +1 -0
- package/dist/services/dop/wallets/balance-update.d.ts +8 -0
- package/dist/services/dop/wallets/balance-update.js +90 -0
- package/dist/services/dop/wallets/balance-update.js.map +1 -0
- package/dist/services/dop/wallets/balances.d.ts +6 -0
- package/dist/services/dop/wallets/balances.js +57 -0
- package/dist/services/dop/wallets/balances.js.map +1 -0
- package/dist/services/dop/wallets/index.d.ts +4 -0
- package/dist/services/dop/wallets/index.js +21 -0
- package/dist/services/dop/wallets/index.js.map +1 -0
- package/dist/services/dop/wallets/wallets.d.ts +19 -0
- package/dist/services/dop/wallets/wallets.js +226 -0
- package/dist/services/dop/wallets/wallets.js.map +1 -0
- package/dist/services/ethers/ethers-util.d.ts +1 -0
- package/dist/services/ethers/ethers-util.js +9 -0
- package/dist/services/ethers/ethers-util.js.map +1 -0
- package/dist/services/ethers/index.d.ts +1 -0
- package/dist/services/ethers/index.js +18 -0
- package/dist/services/ethers/index.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.js +21 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/transactions/index.d.ts +13 -0
- package/dist/services/transactions/index.js +30 -0
- package/dist/services/transactions/index.js.map +1 -0
- package/dist/services/transactions/proof-cache.d.ts +27 -0
- package/dist/services/transactions/proof-cache.js +128 -0
- package/dist/services/transactions/proof-cache.js.map +1 -0
- package/dist/services/transactions/tx-cross-contract-calls.d.ts +9 -0
- package/dist/services/transactions/tx-cross-contract-calls.js +386 -0
- package/dist/services/transactions/tx-cross-contract-calls.js.map +1 -0
- package/dist/services/transactions/tx-gas-details.d.ts +5 -0
- package/dist/services/transactions/tx-gas-details.js +120 -0
- package/dist/services/transactions/tx-gas-details.js.map +1 -0
- package/dist/services/transactions/tx-gas-relayer-fee-estimator.d.ts +2 -0
- package/dist/services/transactions/tx-gas-relayer-fee-estimator.js +209 -0
- package/dist/services/transactions/tx-gas-relayer-fee-estimator.js.map +1 -0
- package/dist/services/transactions/tx-generator.d.ts +9 -0
- package/dist/services/transactions/tx-generator.js +205 -0
- package/dist/services/transactions/tx-generator.js.map +1 -0
- package/dist/services/transactions/tx-notes.d.ts +10 -0
- package/dist/services/transactions/tx-notes.js +154 -0
- package/dist/services/transactions/tx-notes.js.map +1 -0
- package/dist/services/transactions/tx-nullifiers.d.ts +2 -0
- package/dist/services/transactions/tx-nullifiers.js +17 -0
- package/dist/services/transactions/tx-nullifiers.js.map +1 -0
- package/dist/services/transactions/tx-proof-transfer.d.ts +4 -0
- package/dist/services/transactions/tx-proof-transfer.js +49 -0
- package/dist/services/transactions/tx-proof-transfer.js.map +1 -0
- package/dist/services/transactions/tx-proof-unshield.d.ts +3 -0
- package/dist/services/transactions/tx-proof-unshield.js +183 -0
- package/dist/services/transactions/tx-proof-unshield.js.map +1 -0
- package/dist/services/transactions/tx-shield-base-token.d.ts +3 -0
- package/dist/services/transactions/tx-shield-base-token.js +61 -0
- package/dist/services/transactions/tx-shield-base-token.js.map +1 -0
- package/dist/services/transactions/tx-shield.d.ts +6 -0
- package/dist/services/transactions/tx-shield.js +84 -0
- package/dist/services/transactions/tx-shield.js.map +1 -0
- package/dist/services/transactions/tx-transfer.d.ts +2 -0
- package/dist/services/transactions/tx-transfer.js +78 -0
- package/dist/services/transactions/tx-transfer.js.map +1 -0
- package/dist/services/transactions/tx-unshield.d.ts +3 -0
- package/dist/services/transactions/tx-unshield.js +174 -0
- package/dist/services/transactions/tx-unshield.js.map +1 -0
- package/dist/utils/blocked-address.d.ts +2 -0
- package/dist/utils/blocked-address.js +21 -0
- package/dist/utils/blocked-address.js.map +1 -0
- package/dist/utils/error.d.ts +1 -0
- package/dist/utils/error.js +20 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/gas-price.d.ts +6 -0
- package/dist/utils/gas-price.js +31 -0
- package/dist/utils/gas-price.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +3 -0
- package/dist/utils/logger.js +21 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/utils.d.ts +3 -0
- package/dist/utils/utils.js +47 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +85 -0
- package/postinstall.js +52 -0
- package/react-native-shims.js +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/dop/quick-sync/graphql/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * TO UPDATE:\n * 1. Find all places that are \"MODIFIED\", move them into the new built index.ts (in .graphclient)\n * 2. add these comments (including eslint disables)\n * 3. move the modified index file to quick-sync/graphql/\n */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/ban-types */\n// @ts-nocheck\n\nimport {\n GraphQLResolveInfo,\n SelectionSetNode,\n FieldNode,\n GraphQLScalarType,\n GraphQLScalarTypeConfig,\n} from 'graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nimport { gql , PubSub , DefaultLogger , printWithCache } from '@graphql-mesh/utils';\n\nimport type { GetMeshOptions } from '@graphql-mesh/runtime';\nimport type { YamlConfig } from '@graphql-mesh/types';\nimport MeshCache from '@graphql-mesh/cache-localforage';\nimport { fetch as fetchFn } from '@whatwg-node/fetch';\n\nimport { MeshResolvedSource ,\n getMesh,\n ExecuteMeshFn,\n SubscribeMeshFn,\n MeshContext as BaseMeshContext,\n MeshInstance,\n} from '@graphql-mesh/runtime';\nimport { MeshTransform, MeshPlugin , ImportFn } from '@graphql-mesh/types';\nimport GraphqlHandler from '@graphql-mesh/graphql';\nimport StitchingMerger from '@graphql-mesh/merger-stitching';\nimport { createMeshHTTPHandler, MeshHTTPHandler } from '@graphql-mesh/http';\nimport { MeshStore, FsStoreStorageAdapter } from '@graphql-mesh/store';\nimport { path as pathModule } from '@graphql-mesh/cross-helpers';\nimport type { BscTypes } from './.graphclient/sources/bsc/types';\nimport type { GoerliTypes } from './.graphclient/sources/goerli/types';\nimport type { ArbitrumOneTypes } from './.graphclient/sources/arbitrum-one/types';\nimport type { MaticTypes } from './.graphclient/sources/matic/types';\nimport type { MumbaiTypes } from './.graphclient/sources/mumbai/types';\nimport type { ArbitrumGoerliTypes } from './.graphclient/sources/arbitrum-goerli/types';\nimport type { EthereumTypes } from './.graphclient/sources/ethereum/types';\n\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type RequireFields<T, K extends keyof T> = Omit<T, K> & {\n [P in K]-?: NonNullable<T[P]>;\n};\n\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n BigDecimal: string; // MODIFIED\n BigInt: string; // MODIFIED\n Bytes: string; // MODIFIED\n};\n\nexport type Query = {\n token?: Maybe<Token>;\n tokens: Array<Token>;\n commitmentPreimage?: Maybe<CommitmentPreimage>;\n commitmentPreimages: Array<CommitmentPreimage>;\n ciphertext?: Maybe<Ciphertext>;\n ciphertexts: Array<Ciphertext>;\n legacyCommitmentCiphertext?: Maybe<LegacyCommitmentCiphertext>;\n legacyCommitmentCiphertexts: Array<LegacyCommitmentCiphertext>;\n commitmentCiphertext?: Maybe<CommitmentCiphertext>;\n commitmentCiphertexts: Array<CommitmentCiphertext>;\n legacyGeneratedCommitment?: Maybe<LegacyGeneratedCommitment>;\n legacyGeneratedCommitments: Array<LegacyGeneratedCommitment>;\n legacyEncryptedCommitment?: Maybe<LegacyEncryptedCommitment>;\n legacyEncryptedCommitments: Array<LegacyEncryptedCommitment>;\n encryptCommitment?: Maybe<EncryptCommitment>;\n encryptCommitments: Array<EncryptCommitment>;\n transactCommitment?: Maybe<TransactCommitment>;\n transactCommitments: Array<TransactCommitment>;\n unshield?: Maybe<Unshield>;\n unshields: Array<Unshield>;\n nullifier?: Maybe<Nullifier>;\n nullifiers: Array<Nullifier>;\n commitment?: Maybe<Commitment>;\n commitments: Array<Commitment>;\n /** Access to subgraph metadata */\n _meta?: Maybe<_Meta_>;\n};\n\nexport type QuerytokenArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerytokensArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Token_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Token_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerycommitmentPreimageArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerycommitmentPreimagesArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<CommitmentPreimage_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<CommitmentPreimage_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QueryciphertextArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QueryciphertextsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Ciphertext_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Ciphertext_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerylegacyCommitmentCiphertextArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerylegacyCommitmentCiphertextsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<LegacyCommitmentCiphertext_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<LegacyCommitmentCiphertext_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerycommitmentCiphertextArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerycommitmentCiphertextsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<CommitmentCiphertext_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<CommitmentCiphertext_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerylegacyGeneratedCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerylegacyGeneratedCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<LegacyGeneratedCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<LegacyGeneratedCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerylegacyEncryptedCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerylegacyEncryptedCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<LegacyEncryptedCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<LegacyEncryptedCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QueryencryptCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QueryencryptCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<EncryptCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<EncryptCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerytransactCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerytransactCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<TransactCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<TransactCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QueryunshieldArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QueryunshieldsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Unshield_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Unshield_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerynullifierArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerynullifiersArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Nullifier_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Nullifier_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerycommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type QuerycommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Commitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Commitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type Query_metaArgs = {\n block?: InputMaybe<Block_height>;\n};\n\nexport type Subscription = {\n token?: Maybe<Token>;\n tokens: Array<Token>;\n commitmentPreimage?: Maybe<CommitmentPreimage>;\n commitmentPreimages: Array<CommitmentPreimage>;\n ciphertext?: Maybe<Ciphertext>;\n ciphertexts: Array<Ciphertext>;\n legacyCommitmentCiphertext?: Maybe<LegacyCommitmentCiphertext>;\n legacyCommitmentCiphertexts: Array<LegacyCommitmentCiphertext>;\n commitmentCiphertext?: Maybe<CommitmentCiphertext>;\n commitmentCiphertexts: Array<CommitmentCiphertext>;\n legacyGeneratedCommitment?: Maybe<LegacyGeneratedCommitment>;\n legacyGeneratedCommitments: Array<LegacyGeneratedCommitment>;\n legacyEncryptedCommitment?: Maybe<LegacyEncryptedCommitment>;\n legacyEncryptedCommitments: Array<LegacyEncryptedCommitment>;\n encryptCommitment?: Maybe<EncryptCommitment>;\n encryptCommitments: Array<EncryptCommitment>;\n transactCommitment?: Maybe<TransactCommitment>;\n transactCommitments: Array<TransactCommitment>;\n unshield?: Maybe<Unshield>;\n unshields: Array<Unshield>;\n nullifier?: Maybe<Nullifier>;\n nullifiers: Array<Nullifier>;\n commitment?: Maybe<Commitment>;\n commitments: Array<Commitment>;\n /** Access to subgraph metadata */\n _meta?: Maybe<_Meta_>;\n};\n\nexport type SubscriptiontokenArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptiontokensArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Token_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Token_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptioncommitmentPreimageArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptioncommitmentPreimagesArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<CommitmentPreimage_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<CommitmentPreimage_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionciphertextArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionciphertextsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Ciphertext_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Ciphertext_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionlegacyCommitmentCiphertextArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionlegacyCommitmentCiphertextsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<LegacyCommitmentCiphertext_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<LegacyCommitmentCiphertext_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptioncommitmentCiphertextArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptioncommitmentCiphertextsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<CommitmentCiphertext_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<CommitmentCiphertext_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionlegacyGeneratedCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionlegacyGeneratedCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<LegacyGeneratedCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<LegacyGeneratedCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionlegacyEncryptedCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionlegacyEncryptedCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<LegacyEncryptedCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<LegacyEncryptedCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionencryptCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionencryptCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<EncryptCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<EncryptCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptiontransactCommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptiontransactCommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<TransactCommitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<TransactCommitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionunshieldArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionunshieldsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Unshield_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Unshield_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionnullifierArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptionnullifiersArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Nullifier_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Nullifier_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptioncommitmentArgs = {\n id: Scalars['ID'];\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type SubscriptioncommitmentsArgs = {\n skip?: InputMaybe<Scalars['Int']>;\n first?: InputMaybe<Scalars['Int']>;\n orderBy?: InputMaybe<Commitment_orderBy>;\n orderDirection?: InputMaybe<OrderDirection>;\n where?: InputMaybe<Commitment_filter>;\n block?: InputMaybe<Block_height>;\n subgraphError?: _SubgraphErrorPolicy_;\n};\n\nexport type Subscription_metaArgs = {\n block?: InputMaybe<Block_height>;\n};\n\nexport type BlockChangedFilter = {\n number_gte: Scalars['Int'];\n};\n\nexport type Block_height = {\n hash?: InputMaybe<Scalars['Bytes']>;\n number?: InputMaybe<Scalars['Int']>;\n number_gte?: InputMaybe<Scalars['Int']>;\n};\n\nexport type Ciphertext = {\n id: Scalars['Bytes'];\n iv: Scalars['Bytes'];\n tag: Scalars['Bytes'];\n data: Array<Scalars['Bytes']>;\n};\n\nexport type Ciphertext_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n iv?: InputMaybe<Scalars['Bytes']>;\n iv_not?: InputMaybe<Scalars['Bytes']>;\n iv_gt?: InputMaybe<Scalars['Bytes']>;\n iv_lt?: InputMaybe<Scalars['Bytes']>;\n iv_gte?: InputMaybe<Scalars['Bytes']>;\n iv_lte?: InputMaybe<Scalars['Bytes']>;\n iv_in?: InputMaybe<Array<Scalars['Bytes']>>;\n iv_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n iv_contains?: InputMaybe<Scalars['Bytes']>;\n iv_not_contains?: InputMaybe<Scalars['Bytes']>;\n tag?: InputMaybe<Scalars['Bytes']>;\n tag_not?: InputMaybe<Scalars['Bytes']>;\n tag_gt?: InputMaybe<Scalars['Bytes']>;\n tag_lt?: InputMaybe<Scalars['Bytes']>;\n tag_gte?: InputMaybe<Scalars['Bytes']>;\n tag_lte?: InputMaybe<Scalars['Bytes']>;\n tag_in?: InputMaybe<Array<Scalars['Bytes']>>;\n tag_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n tag_contains?: InputMaybe<Scalars['Bytes']>;\n tag_not_contains?: InputMaybe<Scalars['Bytes']>;\n data?: InputMaybe<Array<Scalars['Bytes']>>;\n data_not?: InputMaybe<Array<Scalars['Bytes']>>;\n data_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n data_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n data_not_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n data_not_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<Ciphertext_filter>>>;\n or?: InputMaybe<Array<InputMaybe<Ciphertext_filter>>>;\n};\n\nexport type Ciphertext_orderBy = 'id' | 'iv' | 'tag' | 'data';\n\nexport type Commitment = {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n treeNumber: Scalars['Int'];\n batchStartTreePosition: Scalars['Int'];\n treePosition: Scalars['Int'];\n commitmentType: CommitmentType;\n hash: Scalars['BigInt'];\n};\n\nexport type CommitmentCiphertext = {\n id: Scalars['Bytes'];\n ciphertext: Ciphertext;\n blindedSenderViewingKey: Scalars['Bytes'];\n blindedReceiverViewingKey: Scalars['Bytes'];\n annotationData: Scalars['Bytes'];\n memo: Scalars['Bytes'];\n};\n\nexport type CommitmentCiphertext_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n ciphertext?: InputMaybe<Scalars['String']>;\n ciphertext_not?: InputMaybe<Scalars['String']>;\n ciphertext_gt?: InputMaybe<Scalars['String']>;\n ciphertext_lt?: InputMaybe<Scalars['String']>;\n ciphertext_gte?: InputMaybe<Scalars['String']>;\n ciphertext_lte?: InputMaybe<Scalars['String']>;\n ciphertext_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_not_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_contains?: InputMaybe<Scalars['String']>;\n ciphertext_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_?: InputMaybe<Ciphertext_filter>;\n blindedSenderViewingKey?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_not?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_gt?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_lt?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_gte?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_lte?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_in?: InputMaybe<Array<Scalars['Bytes']>>;\n blindedSenderViewingKey_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n blindedSenderViewingKey_contains?: InputMaybe<Scalars['Bytes']>;\n blindedSenderViewingKey_not_contains?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_not?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_gt?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_lt?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_gte?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_lte?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_in?: InputMaybe<Array<Scalars['Bytes']>>;\n blindedReceiverViewingKey_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n blindedReceiverViewingKey_contains?: InputMaybe<Scalars['Bytes']>;\n blindedReceiverViewingKey_not_contains?: InputMaybe<Scalars['Bytes']>;\n annotationData?: InputMaybe<Scalars['Bytes']>;\n annotationData_not?: InputMaybe<Scalars['Bytes']>;\n annotationData_gt?: InputMaybe<Scalars['Bytes']>;\n annotationData_lt?: InputMaybe<Scalars['Bytes']>;\n annotationData_gte?: InputMaybe<Scalars['Bytes']>;\n annotationData_lte?: InputMaybe<Scalars['Bytes']>;\n annotationData_in?: InputMaybe<Array<Scalars['Bytes']>>;\n annotationData_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n annotationData_contains?: InputMaybe<Scalars['Bytes']>;\n annotationData_not_contains?: InputMaybe<Scalars['Bytes']>;\n memo?: InputMaybe<Scalars['Bytes']>;\n memo_not?: InputMaybe<Scalars['Bytes']>;\n memo_gt?: InputMaybe<Scalars['Bytes']>;\n memo_lt?: InputMaybe<Scalars['Bytes']>;\n memo_gte?: InputMaybe<Scalars['Bytes']>;\n memo_lte?: InputMaybe<Scalars['Bytes']>;\n memo_in?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_contains?: InputMaybe<Scalars['Bytes']>;\n memo_not_contains?: InputMaybe<Scalars['Bytes']>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<CommitmentCiphertext_filter>>>;\n or?: InputMaybe<Array<InputMaybe<CommitmentCiphertext_filter>>>;\n};\n\nexport type CommitmentCiphertext_orderBy =\n | 'id'\n | 'ciphertext'\n | 'ciphertext__id'\n | 'ciphertext__iv'\n | 'ciphertext__tag'\n | 'blindedSenderViewingKey'\n | 'blindedReceiverViewingKey'\n | 'annotationData'\n | 'memo';\n\nexport type CommitmentPreimage = {\n id: Scalars['Bytes'];\n npk: Scalars['Bytes'];\n token: Token;\n value: Scalars['BigInt'];\n};\n\nexport type CommitmentPreimage_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n npk?: InputMaybe<Scalars['Bytes']>;\n npk_not?: InputMaybe<Scalars['Bytes']>;\n npk_gt?: InputMaybe<Scalars['Bytes']>;\n npk_lt?: InputMaybe<Scalars['Bytes']>;\n npk_gte?: InputMaybe<Scalars['Bytes']>;\n npk_lte?: InputMaybe<Scalars['Bytes']>;\n npk_in?: InputMaybe<Array<Scalars['Bytes']>>;\n npk_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n npk_contains?: InputMaybe<Scalars['Bytes']>;\n npk_not_contains?: InputMaybe<Scalars['Bytes']>;\n token?: InputMaybe<Scalars['String']>;\n token_not?: InputMaybe<Scalars['String']>;\n token_gt?: InputMaybe<Scalars['String']>;\n token_lt?: InputMaybe<Scalars['String']>;\n token_gte?: InputMaybe<Scalars['String']>;\n token_lte?: InputMaybe<Scalars['String']>;\n token_in?: InputMaybe<Array<Scalars['String']>>;\n token_not_in?: InputMaybe<Array<Scalars['String']>>;\n token_contains?: InputMaybe<Scalars['String']>;\n token_contains_nocase?: InputMaybe<Scalars['String']>;\n token_not_contains?: InputMaybe<Scalars['String']>;\n token_not_contains_nocase?: InputMaybe<Scalars['String']>;\n token_starts_with?: InputMaybe<Scalars['String']>;\n token_starts_with_nocase?: InputMaybe<Scalars['String']>;\n token_not_starts_with?: InputMaybe<Scalars['String']>;\n token_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n token_ends_with?: InputMaybe<Scalars['String']>;\n token_ends_with_nocase?: InputMaybe<Scalars['String']>;\n token_not_ends_with?: InputMaybe<Scalars['String']>;\n token_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n token_?: InputMaybe<Token_filter>;\n value?: InputMaybe<Scalars['BigInt']>;\n value_not?: InputMaybe<Scalars['BigInt']>;\n value_gt?: InputMaybe<Scalars['BigInt']>;\n value_lt?: InputMaybe<Scalars['BigInt']>;\n value_gte?: InputMaybe<Scalars['BigInt']>;\n value_lte?: InputMaybe<Scalars['BigInt']>;\n value_in?: InputMaybe<Array<Scalars['BigInt']>>;\n value_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<CommitmentPreimage_filter>>>;\n or?: InputMaybe<Array<InputMaybe<CommitmentPreimage_filter>>>;\n};\n\nexport type CommitmentPreimage_orderBy =\n | 'id'\n | 'npk'\n | 'token'\n | 'token__id'\n | 'token__tokenType'\n | 'token__tokenAddress'\n | 'token__tokenSubID'\n | 'value';\n\nexport type CommitmentType =\n | 'EncryptCommitment'\n | 'TransactCommitment'\n | 'LegacyGeneratedCommitment'\n | 'LegacyEncryptedCommitment';\n\nexport type Commitment_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n treeNumber?: InputMaybe<Scalars['Int']>;\n treeNumber_not?: InputMaybe<Scalars['Int']>;\n treeNumber_gt?: InputMaybe<Scalars['Int']>;\n treeNumber_lt?: InputMaybe<Scalars['Int']>;\n treeNumber_gte?: InputMaybe<Scalars['Int']>;\n treeNumber_lte?: InputMaybe<Scalars['Int']>;\n treeNumber_in?: InputMaybe<Array<Scalars['Int']>>;\n treeNumber_not_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_not?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition?: InputMaybe<Scalars['Int']>;\n treePosition_not?: InputMaybe<Scalars['Int']>;\n treePosition_gt?: InputMaybe<Scalars['Int']>;\n treePosition_lt?: InputMaybe<Scalars['Int']>;\n treePosition_gte?: InputMaybe<Scalars['Int']>;\n treePosition_lte?: InputMaybe<Scalars['Int']>;\n treePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n commitmentType?: InputMaybe<CommitmentType>;\n commitmentType_not?: InputMaybe<CommitmentType>;\n commitmentType_in?: InputMaybe<Array<CommitmentType>>;\n commitmentType_not_in?: InputMaybe<Array<CommitmentType>>;\n hash?: InputMaybe<Scalars['BigInt']>;\n hash_not?: InputMaybe<Scalars['BigInt']>;\n hash_gt?: InputMaybe<Scalars['BigInt']>;\n hash_lt?: InputMaybe<Scalars['BigInt']>;\n hash_gte?: InputMaybe<Scalars['BigInt']>;\n hash_lte?: InputMaybe<Scalars['BigInt']>;\n hash_in?: InputMaybe<Array<Scalars['BigInt']>>;\n hash_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<Commitment_filter>>>;\n or?: InputMaybe<Array<InputMaybe<Commitment_filter>>>;\n};\n\nexport type Commitment_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash';\n\nexport type LegacyCommitmentCiphertext = {\n id: Scalars['Bytes'];\n ciphertext: Ciphertext;\n ephemeralKeys: Array<Scalars['Bytes']>;\n memo: Array<Scalars['Bytes']>;\n};\n\nexport type LegacyCommitmentCiphertext_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n ciphertext?: InputMaybe<Scalars['String']>;\n ciphertext_not?: InputMaybe<Scalars['String']>;\n ciphertext_gt?: InputMaybe<Scalars['String']>;\n ciphertext_lt?: InputMaybe<Scalars['String']>;\n ciphertext_gte?: InputMaybe<Scalars['String']>;\n ciphertext_lte?: InputMaybe<Scalars['String']>;\n ciphertext_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_not_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_contains?: InputMaybe<Scalars['String']>;\n ciphertext_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_?: InputMaybe<Ciphertext_filter>;\n ephemeralKeys?: InputMaybe<Array<Scalars['Bytes']>>;\n ephemeralKeys_not?: InputMaybe<Array<Scalars['Bytes']>>;\n ephemeralKeys_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n ephemeralKeys_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n ephemeralKeys_not_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n ephemeralKeys_not_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n memo?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_not?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_not_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n memo_not_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<LegacyCommitmentCiphertext_filter>>>;\n or?: InputMaybe<Array<InputMaybe<LegacyCommitmentCiphertext_filter>>>;\n};\n\nexport type LegacyCommitmentCiphertext_orderBy =\n | 'id'\n | 'ciphertext'\n | 'ciphertext__id'\n | 'ciphertext__iv'\n | 'ciphertext__tag'\n | 'ephemeralKeys'\n | 'memo';\n\nexport type LegacyEncryptedCommitment = Commitment & {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n treeNumber: Scalars['Int'];\n batchStartTreePosition: Scalars['Int'];\n treePosition: Scalars['Int'];\n commitmentType: CommitmentType;\n hash: Scalars['BigInt'];\n legacyCiphertext: LegacyCommitmentCiphertext; // MODIFIED\n};\n\nexport type LegacyEncryptedCommitment_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n treeNumber?: InputMaybe<Scalars['Int']>;\n treeNumber_not?: InputMaybe<Scalars['Int']>;\n treeNumber_gt?: InputMaybe<Scalars['Int']>;\n treeNumber_lt?: InputMaybe<Scalars['Int']>;\n treeNumber_gte?: InputMaybe<Scalars['Int']>;\n treeNumber_lte?: InputMaybe<Scalars['Int']>;\n treeNumber_in?: InputMaybe<Array<Scalars['Int']>>;\n treeNumber_not_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_not?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition?: InputMaybe<Scalars['Int']>;\n treePosition_not?: InputMaybe<Scalars['Int']>;\n treePosition_gt?: InputMaybe<Scalars['Int']>;\n treePosition_lt?: InputMaybe<Scalars['Int']>;\n treePosition_gte?: InputMaybe<Scalars['Int']>;\n treePosition_lte?: InputMaybe<Scalars['Int']>;\n treePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n commitmentType?: InputMaybe<CommitmentType>;\n commitmentType_not?: InputMaybe<CommitmentType>;\n commitmentType_in?: InputMaybe<Array<CommitmentType>>;\n commitmentType_not_in?: InputMaybe<Array<CommitmentType>>;\n hash?: InputMaybe<Scalars['BigInt']>;\n hash_not?: InputMaybe<Scalars['BigInt']>;\n hash_gt?: InputMaybe<Scalars['BigInt']>;\n hash_lt?: InputMaybe<Scalars['BigInt']>;\n hash_gte?: InputMaybe<Scalars['BigInt']>;\n hash_lte?: InputMaybe<Scalars['BigInt']>;\n hash_in?: InputMaybe<Array<Scalars['BigInt']>>;\n hash_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n ciphertext?: InputMaybe<Scalars['String']>;\n ciphertext_not?: InputMaybe<Scalars['String']>;\n ciphertext_gt?: InputMaybe<Scalars['String']>;\n ciphertext_lt?: InputMaybe<Scalars['String']>;\n ciphertext_gte?: InputMaybe<Scalars['String']>;\n ciphertext_lte?: InputMaybe<Scalars['String']>;\n ciphertext_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_not_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_contains?: InputMaybe<Scalars['String']>;\n ciphertext_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_?: InputMaybe<LegacyCommitmentCiphertext_filter>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<LegacyEncryptedCommitment_filter>>>;\n or?: InputMaybe<Array<InputMaybe<LegacyEncryptedCommitment_filter>>>;\n};\n\nexport type LegacyEncryptedCommitment_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n | 'ciphertext'\n | 'ciphertext__id';\n\nexport type LegacyGeneratedCommitment = Commitment & {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n treeNumber: Scalars['Int'];\n batchStartTreePosition: Scalars['Int'];\n treePosition: Scalars['Int'];\n commitmentType: CommitmentType;\n hash: Scalars['BigInt'];\n preimage: CommitmentPreimage;\n encryptedRandom: Array<Scalars['Bytes']>;\n};\n\nexport type LegacyGeneratedCommitment_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n treeNumber?: InputMaybe<Scalars['Int']>;\n treeNumber_not?: InputMaybe<Scalars['Int']>;\n treeNumber_gt?: InputMaybe<Scalars['Int']>;\n treeNumber_lt?: InputMaybe<Scalars['Int']>;\n treeNumber_gte?: InputMaybe<Scalars['Int']>;\n treeNumber_lte?: InputMaybe<Scalars['Int']>;\n treeNumber_in?: InputMaybe<Array<Scalars['Int']>>;\n treeNumber_not_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_not?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition?: InputMaybe<Scalars['Int']>;\n treePosition_not?: InputMaybe<Scalars['Int']>;\n treePosition_gt?: InputMaybe<Scalars['Int']>;\n treePosition_lt?: InputMaybe<Scalars['Int']>;\n treePosition_gte?: InputMaybe<Scalars['Int']>;\n treePosition_lte?: InputMaybe<Scalars['Int']>;\n treePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n commitmentType?: InputMaybe<CommitmentType>;\n commitmentType_not?: InputMaybe<CommitmentType>;\n commitmentType_in?: InputMaybe<Array<CommitmentType>>;\n commitmentType_not_in?: InputMaybe<Array<CommitmentType>>;\n hash?: InputMaybe<Scalars['BigInt']>;\n hash_not?: InputMaybe<Scalars['BigInt']>;\n hash_gt?: InputMaybe<Scalars['BigInt']>;\n hash_lt?: InputMaybe<Scalars['BigInt']>;\n hash_gte?: InputMaybe<Scalars['BigInt']>;\n hash_lte?: InputMaybe<Scalars['BigInt']>;\n hash_in?: InputMaybe<Array<Scalars['BigInt']>>;\n hash_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n preimage?: InputMaybe<Scalars['String']>;\n preimage_not?: InputMaybe<Scalars['String']>;\n preimage_gt?: InputMaybe<Scalars['String']>;\n preimage_lt?: InputMaybe<Scalars['String']>;\n preimage_gte?: InputMaybe<Scalars['String']>;\n preimage_lte?: InputMaybe<Scalars['String']>;\n preimage_in?: InputMaybe<Array<Scalars['String']>>;\n preimage_not_in?: InputMaybe<Array<Scalars['String']>>;\n preimage_contains?: InputMaybe<Scalars['String']>;\n preimage_contains_nocase?: InputMaybe<Scalars['String']>;\n preimage_not_contains?: InputMaybe<Scalars['String']>;\n preimage_not_contains_nocase?: InputMaybe<Scalars['String']>;\n preimage_starts_with?: InputMaybe<Scalars['String']>;\n preimage_starts_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_not_starts_with?: InputMaybe<Scalars['String']>;\n preimage_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_ends_with?: InputMaybe<Scalars['String']>;\n preimage_ends_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_not_ends_with?: InputMaybe<Scalars['String']>;\n preimage_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_?: InputMaybe<CommitmentPreimage_filter>;\n encryptedRandom?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedRandom_not?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedRandom_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedRandom_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedRandom_not_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedRandom_not_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<LegacyGeneratedCommitment_filter>>>;\n or?: InputMaybe<Array<InputMaybe<LegacyGeneratedCommitment_filter>>>;\n};\n\nexport type LegacyGeneratedCommitment_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n | 'preimage'\n | 'preimage__id'\n | 'preimage__npk'\n | 'preimage__value'\n | 'encryptedRandom';\n\nexport type Nullifier = {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n treeNumber: Scalars['Int'];\n nullifier: Scalars['Bytes'];\n};\n\nexport type Nullifier_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n treeNumber?: InputMaybe<Scalars['Int']>;\n treeNumber_not?: InputMaybe<Scalars['Int']>;\n treeNumber_gt?: InputMaybe<Scalars['Int']>;\n treeNumber_lt?: InputMaybe<Scalars['Int']>;\n treeNumber_gte?: InputMaybe<Scalars['Int']>;\n treeNumber_lte?: InputMaybe<Scalars['Int']>;\n treeNumber_in?: InputMaybe<Array<Scalars['Int']>>;\n treeNumber_not_in?: InputMaybe<Array<Scalars['Int']>>;\n nullifier?: InputMaybe<Scalars['Bytes']>;\n nullifier_not?: InputMaybe<Scalars['Bytes']>;\n nullifier_gt?: InputMaybe<Scalars['Bytes']>;\n nullifier_lt?: InputMaybe<Scalars['Bytes']>;\n nullifier_gte?: InputMaybe<Scalars['Bytes']>;\n nullifier_lte?: InputMaybe<Scalars['Bytes']>;\n nullifier_in?: InputMaybe<Array<Scalars['Bytes']>>;\n nullifier_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n nullifier_contains?: InputMaybe<Scalars['Bytes']>;\n nullifier_not_contains?: InputMaybe<Scalars['Bytes']>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<Nullifier_filter>>>;\n or?: InputMaybe<Array<InputMaybe<Nullifier_filter>>>;\n};\n\nexport type Nullifier_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'nullifier';\n\n/** Defines the order direction, either ascending or descending */\nexport type OrderDirection = 'asc' | 'desc';\n\nexport type EncryptCommitment = Commitment & {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n treeNumber: Scalars['Int'];\n batchStartTreePosition: Scalars['Int'];\n treePosition: Scalars['Int'];\n commitmentType: CommitmentType;\n hash: Scalars['BigInt'];\n preimage: CommitmentPreimage;\n encryptedBundle: Array<Scalars['Bytes']>;\n encryptKey: Scalars['Bytes'];\n fee?: Maybe<Scalars['BigInt']>;\n};\n\nexport type EncryptCommitment_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n treeNumber?: InputMaybe<Scalars['Int']>;\n treeNumber_not?: InputMaybe<Scalars['Int']>;\n treeNumber_gt?: InputMaybe<Scalars['Int']>;\n treeNumber_lt?: InputMaybe<Scalars['Int']>;\n treeNumber_gte?: InputMaybe<Scalars['Int']>;\n treeNumber_lte?: InputMaybe<Scalars['Int']>;\n treeNumber_in?: InputMaybe<Array<Scalars['Int']>>;\n treeNumber_not_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_not?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition?: InputMaybe<Scalars['Int']>;\n treePosition_not?: InputMaybe<Scalars['Int']>;\n treePosition_gt?: InputMaybe<Scalars['Int']>;\n treePosition_lt?: InputMaybe<Scalars['Int']>;\n treePosition_gte?: InputMaybe<Scalars['Int']>;\n treePosition_lte?: InputMaybe<Scalars['Int']>;\n treePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n commitmentType?: InputMaybe<CommitmentType>;\n commitmentType_not?: InputMaybe<CommitmentType>;\n commitmentType_in?: InputMaybe<Array<CommitmentType>>;\n commitmentType_not_in?: InputMaybe<Array<CommitmentType>>;\n hash?: InputMaybe<Scalars['BigInt']>;\n hash_not?: InputMaybe<Scalars['BigInt']>;\n hash_gt?: InputMaybe<Scalars['BigInt']>;\n hash_lt?: InputMaybe<Scalars['BigInt']>;\n hash_gte?: InputMaybe<Scalars['BigInt']>;\n hash_lte?: InputMaybe<Scalars['BigInt']>;\n hash_in?: InputMaybe<Array<Scalars['BigInt']>>;\n hash_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n preimage?: InputMaybe<Scalars['String']>;\n preimage_not?: InputMaybe<Scalars['String']>;\n preimage_gt?: InputMaybe<Scalars['String']>;\n preimage_lt?: InputMaybe<Scalars['String']>;\n preimage_gte?: InputMaybe<Scalars['String']>;\n preimage_lte?: InputMaybe<Scalars['String']>;\n preimage_in?: InputMaybe<Array<Scalars['String']>>;\n preimage_not_in?: InputMaybe<Array<Scalars['String']>>;\n preimage_contains?: InputMaybe<Scalars['String']>;\n preimage_contains_nocase?: InputMaybe<Scalars['String']>;\n preimage_not_contains?: InputMaybe<Scalars['String']>;\n preimage_not_contains_nocase?: InputMaybe<Scalars['String']>;\n preimage_starts_with?: InputMaybe<Scalars['String']>;\n preimage_starts_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_not_starts_with?: InputMaybe<Scalars['String']>;\n preimage_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_ends_with?: InputMaybe<Scalars['String']>;\n preimage_ends_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_not_ends_with?: InputMaybe<Scalars['String']>;\n preimage_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n preimage_?: InputMaybe<CommitmentPreimage_filter>;\n encryptedBundle?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedBundle_not?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedBundle_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedBundle_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedBundle_not_contains?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptedBundle_not_contains_nocase?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptKey?: InputMaybe<Scalars['Bytes']>;\n encryptKey_not?: InputMaybe<Scalars['Bytes']>;\n encryptKey_gt?: InputMaybe<Scalars['Bytes']>;\n encryptKey_lt?: InputMaybe<Scalars['Bytes']>;\n encryptKey_gte?: InputMaybe<Scalars['Bytes']>;\n encryptKey_lte?: InputMaybe<Scalars['Bytes']>;\n encryptKey_in?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptKey_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n encryptKey_contains?: InputMaybe<Scalars['Bytes']>;\n encryptKey_not_contains?: InputMaybe<Scalars['Bytes']>;\n fee?: InputMaybe<Scalars['BigInt']>;\n fee_not?: InputMaybe<Scalars['BigInt']>;\n fee_gt?: InputMaybe<Scalars['BigInt']>;\n fee_lt?: InputMaybe<Scalars['BigInt']>;\n fee_gte?: InputMaybe<Scalars['BigInt']>;\n fee_lte?: InputMaybe<Scalars['BigInt']>;\n fee_in?: InputMaybe<Array<Scalars['BigInt']>>;\n fee_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<EncryptCommitment_filter>>>;\n or?: InputMaybe<Array<InputMaybe<EncryptCommitment_filter>>>;\n};\n\nexport type EncryptCommitment_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n | 'preimage'\n | 'preimage__id'\n | 'preimage__npk'\n | 'preimage__value'\n | 'encryptedBundle'\n | 'encryptKey'\n | 'fee';\n\nexport type Token = {\n id: Scalars['Bytes'];\n tokenType: TokenType;\n tokenAddress: Scalars['Bytes'];\n tokenSubID: Scalars['Bytes'];\n};\n\nexport type TokenType = 'ERC20' | 'ERC721' | 'ERC1155';\n\nexport type Token_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n tokenType?: InputMaybe<TokenType>;\n tokenType_not?: InputMaybe<TokenType>;\n tokenType_in?: InputMaybe<Array<TokenType>>;\n tokenType_not_in?: InputMaybe<Array<TokenType>>;\n tokenAddress?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_not?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_gt?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_lt?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_gte?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_lte?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_in?: InputMaybe<Array<Scalars['Bytes']>>;\n tokenAddress_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n tokenAddress_contains?: InputMaybe<Scalars['Bytes']>;\n tokenAddress_not_contains?: InputMaybe<Scalars['Bytes']>;\n tokenSubID?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_not?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_gt?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_lt?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_gte?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_lte?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_in?: InputMaybe<Array<Scalars['Bytes']>>;\n tokenSubID_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n tokenSubID_contains?: InputMaybe<Scalars['Bytes']>;\n tokenSubID_not_contains?: InputMaybe<Scalars['Bytes']>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<Token_filter>>>;\n or?: InputMaybe<Array<InputMaybe<Token_filter>>>;\n};\n\nexport type Token_orderBy = 'id' | 'tokenType' | 'tokenAddress' | 'tokenSubID';\n\nexport type TransactCommitment = Commitment & {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n treeNumber: Scalars['Int'];\n batchStartTreePosition: Scalars['Int'];\n treePosition: Scalars['Int'];\n commitmentType: CommitmentType;\n hash: Scalars['BigInt'];\n ciphertext: CommitmentCiphertext;\n};\n\nexport type TransactCommitment_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n treeNumber?: InputMaybe<Scalars['Int']>;\n treeNumber_not?: InputMaybe<Scalars['Int']>;\n treeNumber_gt?: InputMaybe<Scalars['Int']>;\n treeNumber_lt?: InputMaybe<Scalars['Int']>;\n treeNumber_gte?: InputMaybe<Scalars['Int']>;\n treeNumber_lte?: InputMaybe<Scalars['Int']>;\n treeNumber_in?: InputMaybe<Array<Scalars['Int']>>;\n treeNumber_not_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_not?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lt?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_gte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_lte?: InputMaybe<Scalars['Int']>;\n batchStartTreePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n batchStartTreePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition?: InputMaybe<Scalars['Int']>;\n treePosition_not?: InputMaybe<Scalars['Int']>;\n treePosition_gt?: InputMaybe<Scalars['Int']>;\n treePosition_lt?: InputMaybe<Scalars['Int']>;\n treePosition_gte?: InputMaybe<Scalars['Int']>;\n treePosition_lte?: InputMaybe<Scalars['Int']>;\n treePosition_in?: InputMaybe<Array<Scalars['Int']>>;\n treePosition_not_in?: InputMaybe<Array<Scalars['Int']>>;\n commitmentType?: InputMaybe<CommitmentType>;\n commitmentType_not?: InputMaybe<CommitmentType>;\n commitmentType_in?: InputMaybe<Array<CommitmentType>>;\n commitmentType_not_in?: InputMaybe<Array<CommitmentType>>;\n hash?: InputMaybe<Scalars['BigInt']>;\n hash_not?: InputMaybe<Scalars['BigInt']>;\n hash_gt?: InputMaybe<Scalars['BigInt']>;\n hash_lt?: InputMaybe<Scalars['BigInt']>;\n hash_gte?: InputMaybe<Scalars['BigInt']>;\n hash_lte?: InputMaybe<Scalars['BigInt']>;\n hash_in?: InputMaybe<Array<Scalars['BigInt']>>;\n hash_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n ciphertext?: InputMaybe<Scalars['String']>;\n ciphertext_not?: InputMaybe<Scalars['String']>;\n ciphertext_gt?: InputMaybe<Scalars['String']>;\n ciphertext_lt?: InputMaybe<Scalars['String']>;\n ciphertext_gte?: InputMaybe<Scalars['String']>;\n ciphertext_lte?: InputMaybe<Scalars['String']>;\n ciphertext_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_not_in?: InputMaybe<Array<Scalars['String']>>;\n ciphertext_contains?: InputMaybe<Scalars['String']>;\n ciphertext_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains?: InputMaybe<Scalars['String']>;\n ciphertext_not_contains_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with?: InputMaybe<Scalars['String']>;\n ciphertext_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n ciphertext_?: InputMaybe<CommitmentCiphertext_filter>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<TransactCommitment_filter>>>;\n or?: InputMaybe<Array<InputMaybe<TransactCommitment_filter>>>;\n};\n\nexport type TransactCommitment_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n | 'ciphertext'\n | 'ciphertext__id'\n | 'ciphertext__blindedSenderViewingKey'\n | 'ciphertext__blindedReceiverViewingKey'\n | 'ciphertext__annotationData'\n | 'ciphertext__memo';\n\nexport type Unshield = {\n id: Scalars['Bytes'];\n blockNumber: Scalars['BigInt'];\n blockTimestamp: Scalars['BigInt'];\n transactionHash: Scalars['Bytes'];\n to: Scalars['Bytes'];\n token: Token;\n amount: Scalars['BigInt'];\n fee: Scalars['BigInt'];\n eventLogIndex: Scalars['BigInt'];\n};\n\nexport type Unshield_filter = {\n id?: InputMaybe<Scalars['Bytes']>;\n id_not?: InputMaybe<Scalars['Bytes']>;\n id_gt?: InputMaybe<Scalars['Bytes']>;\n id_lt?: InputMaybe<Scalars['Bytes']>;\n id_gte?: InputMaybe<Scalars['Bytes']>;\n id_lte?: InputMaybe<Scalars['Bytes']>;\n id_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n id_contains?: InputMaybe<Scalars['Bytes']>;\n id_not_contains?: InputMaybe<Scalars['Bytes']>;\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n blockNumber_not?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lt?: InputMaybe<Scalars['BigInt']>;\n blockNumber_gte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_lte?: InputMaybe<Scalars['BigInt']>;\n blockNumber_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockNumber_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_not?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lt?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_gte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_lte?: InputMaybe<Scalars['BigInt']>;\n blockTimestamp_in?: InputMaybe<Array<Scalars['BigInt']>>;\n blockTimestamp_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n transactionHash?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lt?: InputMaybe<Scalars['Bytes']>;\n transactionHash_gte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_lte?: InputMaybe<Scalars['Bytes']>;\n transactionHash_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n transactionHash_contains?: InputMaybe<Scalars['Bytes']>;\n transactionHash_not_contains?: InputMaybe<Scalars['Bytes']>;\n to?: InputMaybe<Scalars['Bytes']>;\n to_not?: InputMaybe<Scalars['Bytes']>;\n to_gt?: InputMaybe<Scalars['Bytes']>;\n to_lt?: InputMaybe<Scalars['Bytes']>;\n to_gte?: InputMaybe<Scalars['Bytes']>;\n to_lte?: InputMaybe<Scalars['Bytes']>;\n to_in?: InputMaybe<Array<Scalars['Bytes']>>;\n to_not_in?: InputMaybe<Array<Scalars['Bytes']>>;\n to_contains?: InputMaybe<Scalars['Bytes']>;\n to_not_contains?: InputMaybe<Scalars['Bytes']>;\n token?: InputMaybe<Scalars['String']>;\n token_not?: InputMaybe<Scalars['String']>;\n token_gt?: InputMaybe<Scalars['String']>;\n token_lt?: InputMaybe<Scalars['String']>;\n token_gte?: InputMaybe<Scalars['String']>;\n token_lte?: InputMaybe<Scalars['String']>;\n token_in?: InputMaybe<Array<Scalars['String']>>;\n token_not_in?: InputMaybe<Array<Scalars['String']>>;\n token_contains?: InputMaybe<Scalars['String']>;\n token_contains_nocase?: InputMaybe<Scalars['String']>;\n token_not_contains?: InputMaybe<Scalars['String']>;\n token_not_contains_nocase?: InputMaybe<Scalars['String']>;\n token_starts_with?: InputMaybe<Scalars['String']>;\n token_starts_with_nocase?: InputMaybe<Scalars['String']>;\n token_not_starts_with?: InputMaybe<Scalars['String']>;\n token_not_starts_with_nocase?: InputMaybe<Scalars['String']>;\n token_ends_with?: InputMaybe<Scalars['String']>;\n token_ends_with_nocase?: InputMaybe<Scalars['String']>;\n token_not_ends_with?: InputMaybe<Scalars['String']>;\n token_not_ends_with_nocase?: InputMaybe<Scalars['String']>;\n token_?: InputMaybe<Token_filter>;\n amount?: InputMaybe<Scalars['BigInt']>;\n amount_not?: InputMaybe<Scalars['BigInt']>;\n amount_gt?: InputMaybe<Scalars['BigInt']>;\n amount_lt?: InputMaybe<Scalars['BigInt']>;\n amount_gte?: InputMaybe<Scalars['BigInt']>;\n amount_lte?: InputMaybe<Scalars['BigInt']>;\n amount_in?: InputMaybe<Array<Scalars['BigInt']>>;\n amount_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n fee?: InputMaybe<Scalars['BigInt']>;\n fee_not?: InputMaybe<Scalars['BigInt']>;\n fee_gt?: InputMaybe<Scalars['BigInt']>;\n fee_lt?: InputMaybe<Scalars['BigInt']>;\n fee_gte?: InputMaybe<Scalars['BigInt']>;\n fee_lte?: InputMaybe<Scalars['BigInt']>;\n fee_in?: InputMaybe<Array<Scalars['BigInt']>>;\n fee_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n eventLogIndex?: InputMaybe<Scalars['BigInt']>;\n eventLogIndex_not?: InputMaybe<Scalars['BigInt']>;\n eventLogIndex_gt?: InputMaybe<Scalars['BigInt']>;\n eventLogIndex_lt?: InputMaybe<Scalars['BigInt']>;\n eventLogIndex_gte?: InputMaybe<Scalars['BigInt']>;\n eventLogIndex_lte?: InputMaybe<Scalars['BigInt']>;\n eventLogIndex_in?: InputMaybe<Array<Scalars['BigInt']>>;\n eventLogIndex_not_in?: InputMaybe<Array<Scalars['BigInt']>>;\n /** Filter for the block changed event. */\n _change_block?: InputMaybe<BlockChangedFilter>;\n and?: InputMaybe<Array<InputMaybe<Unshield_filter>>>;\n or?: InputMaybe<Array<InputMaybe<Unshield_filter>>>;\n};\n\nexport type Unshield_orderBy =\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'to'\n | 'token'\n | 'token__id'\n | 'token__tokenType'\n | 'token__tokenAddress'\n | 'token__tokenSubID'\n | 'amount'\n | 'fee'\n | 'eventLogIndex';\n\nexport type _Block_ = {\n /** The hash of the block */\n hash?: Maybe<Scalars['Bytes']>;\n /** The block number */\n number: Scalars['Int'];\n /** Integer representation of the timestamp stored in blocks for the chain */\n timestamp?: Maybe<Scalars['Int']>;\n};\n\n/** The type for the top-level _meta field */\nexport type _Meta_ = {\n /**\n * Information about a specific subgraph block. The hash of the block\n * will be null if the _meta field has a block constraint that asks for\n * a block number. It will be filled if the _meta field has no block constraint\n * and therefore asks for the latest block\n *\n */\n block: _Block_;\n /** The deployment ID */\n deployment: Scalars['String'];\n /** If `true`, the subgraph encountered indexing errors at some past block */\n hasIndexingErrors: Scalars['Boolean'];\n};\n\nexport type _SubgraphErrorPolicy_ =\n /** Data will be returned even if the subgraph has indexing errors */\n | 'allow'\n /** If the subgraph has indexing errors, data will be omitted. The default. */\n | 'deny';\n\nexport type WithIndex<TObject> = TObject & Record<string, any>;\nexport type ResolversObject<TObject> = WithIndex<TObject>;\n\nexport type ResolverTypeWrapper<T> = Promise<T> | T;\n\nexport type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {\n resolve: ResolverFn<TResult, TParent, TContext, TArgs>;\n};\n\nexport type LegacyStitchingResolver<TResult, TParent, TContext, TArgs> = {\n fragment: string;\n resolve: ResolverFn<TResult, TParent, TContext, TArgs>;\n};\n\nexport type NewStitchingResolver<TResult, TParent, TContext, TArgs> = {\n selectionSet: string | ((fieldNode: FieldNode) => SelectionSetNode);\n resolve: ResolverFn<TResult, TParent, TContext, TArgs>;\n};\nexport type StitchingResolver<TResult, TParent, TContext, TArgs> =\n | LegacyStitchingResolver<TResult, TParent, TContext, TArgs>\n | NewStitchingResolver<TResult, TParent, TContext, TArgs>;\nexport type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> =\n | ResolverFn<TResult, TParent, TContext, TArgs>\n | ResolverWithResolve<TResult, TParent, TContext, TArgs>\n | StitchingResolver<TResult, TParent, TContext, TArgs>;\n\nexport type ResolverFn<TResult, TParent, TContext, TArgs> = (\n parent: TParent,\n args: TArgs,\n context: TContext,\n info: GraphQLResolveInfo,\n) => Promise<TResult> | TResult;\n\nexport type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (\n parent: TParent,\n args: TArgs,\n context: TContext,\n info: GraphQLResolveInfo,\n) => AsyncIterable<TResult> | Promise<AsyncIterable<TResult>>;\n\nexport type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (\n parent: TParent,\n args: TArgs,\n context: TContext,\n info: GraphQLResolveInfo,\n) => TResult | Promise<TResult>;\n\nexport interface SubscriptionSubscriberObject<\n TResult,\n TKey extends string,\n TParent,\n TContext,\n TArgs,\n> {\n subscribe: SubscriptionSubscribeFn<\n { [key in TKey]: TResult },\n TParent,\n TContext,\n TArgs\n >;\n resolve?: SubscriptionResolveFn<\n TResult,\n { [key in TKey]: TResult },\n TContext,\n TArgs\n >;\n}\n\nexport interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {\n subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>;\n resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>;\n}\n\nexport type SubscriptionObject<\n TResult,\n TKey extends string,\n TParent,\n TContext,\n TArgs,\n> =\n | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>\n | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;\n\nexport type SubscriptionResolver<\n TResult,\n TKey extends string,\n TParent = {},\n TContext = {},\n TArgs = {},\n> =\n | ((\n ...args: any[]\n ) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)\n | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;\n\nexport type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (\n parent: TParent,\n context: TContext,\n info: GraphQLResolveInfo,\n) => Maybe<TTypes> | Promise<Maybe<TTypes>>;\n\nexport type IsTypeOfResolverFn<T = {}, TContext = {}> = (\n obj: T,\n context: TContext,\n info: GraphQLResolveInfo,\n) => boolean | Promise<boolean>;\n\nexport type NextResolverFn<T> = () => Promise<T>;\n\nexport type DirectiveResolverFn<\n TResult = {},\n TParent = {},\n TContext = {},\n TArgs = {},\n> = (\n next: NextResolverFn<TResult>,\n parent: TParent,\n args: TArgs,\n context: TContext,\n info: GraphQLResolveInfo,\n) => TResult | Promise<TResult>;\n\n/** Mapping between all available schema types and the resolvers types */\nexport type ResolversTypes = ResolversObject<{\n Query: ResolverTypeWrapper<{}>;\n Subscription: ResolverTypeWrapper<{}>;\n BigDecimal: ResolverTypeWrapper<Scalars['BigDecimal']>;\n BigInt: ResolverTypeWrapper<Scalars['BigInt']>;\n BlockChangedFilter: BlockChangedFilter;\n Block_height: Block_height;\n Boolean: ResolverTypeWrapper<Scalars['Boolean']>;\n Bytes: ResolverTypeWrapper<Scalars['Bytes']>;\n Ciphertext: ResolverTypeWrapper<Ciphertext>;\n Ciphertext_filter: Ciphertext_filter;\n Ciphertext_orderBy: Ciphertext_orderBy;\n Commitment:\n | ResolversTypes['LegacyEncryptedCommitment']\n | ResolversTypes['LegacyGeneratedCommitment']\n | ResolversTypes['EncryptCommitment']\n | ResolversTypes['TransactCommitment'];\n CommitmentCiphertext: ResolverTypeWrapper<CommitmentCiphertext>;\n CommitmentCiphertext_filter: CommitmentCiphertext_filter;\n CommitmentCiphertext_orderBy: CommitmentCiphertext_orderBy;\n CommitmentPreimage: ResolverTypeWrapper<CommitmentPreimage>;\n CommitmentPreimage_filter: CommitmentPreimage_filter;\n CommitmentPreimage_orderBy: CommitmentPreimage_orderBy;\n CommitmentType: CommitmentType;\n Commitment_filter: Commitment_filter;\n Commitment_orderBy: Commitment_orderBy;\n Float: ResolverTypeWrapper<Scalars['Float']>;\n ID: ResolverTypeWrapper<Scalars['ID']>;\n Int: ResolverTypeWrapper<Scalars['Int']>;\n LegacyCommitmentCiphertext: ResolverTypeWrapper<LegacyCommitmentCiphertext>;\n LegacyCommitmentCiphertext_filter: LegacyCommitmentCiphertext_filter;\n LegacyCommitmentCiphertext_orderBy: LegacyCommitmentCiphertext_orderBy;\n LegacyEncryptedCommitment: ResolverTypeWrapper<LegacyEncryptedCommitment>;\n LegacyEncryptedCommitment_filter: LegacyEncryptedCommitment_filter;\n LegacyEncryptedCommitment_orderBy: LegacyEncryptedCommitment_orderBy;\n LegacyGeneratedCommitment: ResolverTypeWrapper<LegacyGeneratedCommitment>;\n LegacyGeneratedCommitment_filter: LegacyGeneratedCommitment_filter;\n LegacyGeneratedCommitment_orderBy: LegacyGeneratedCommitment_orderBy;\n Nullifier: ResolverTypeWrapper<Nullifier>;\n Nullifier_filter: Nullifier_filter;\n Nullifier_orderBy: Nullifier_orderBy;\n OrderDirection: OrderDirection;\n EncryptCommitment: ResolverTypeWrapper<EncryptCommitment>;\n EncryptCommitment_filter: EncryptCommitment_filter;\n EncryptCommitment_orderBy: EncryptCommitment_orderBy;\n String: ResolverTypeWrapper<Scalars['String']>;\n Token: ResolverTypeWrapper<Token>;\n TokenType: TokenType;\n Token_filter: Token_filter;\n Token_orderBy: Token_orderBy;\n TransactCommitment: ResolverTypeWrapper<TransactCommitment>;\n TransactCommitment_filter: TransactCommitment_filter;\n TransactCommitment_orderBy: TransactCommitment_orderBy;\n Unshield: ResolverTypeWrapper<Unshield>;\n Unshield_filter: Unshield_filter;\n Unshield_orderBy: Unshield_orderBy;\n _Block_: ResolverTypeWrapper<_Block_>;\n _Meta_: ResolverTypeWrapper<_Meta_>;\n _SubgraphErrorPolicy_: _SubgraphErrorPolicy_;\n}>;\n\n/** Mapping between all available schema types and the resolvers parents */\nexport type ResolversParentTypes = ResolversObject<{\n Query: {};\n Subscription: {};\n BigDecimal: Scalars['BigDecimal'];\n BigInt: Scalars['BigInt'];\n BlockChangedFilter: BlockChangedFilter;\n Block_height: Block_height;\n Boolean: Scalars['Boolean'];\n Bytes: Scalars['Bytes'];\n Ciphertext: Ciphertext;\n Ciphertext_filter: Ciphertext_filter;\n Commitment:\n | ResolversParentTypes['LegacyEncryptedCommitment']\n | ResolversParentTypes['LegacyGeneratedCommitment']\n | ResolversParentTypes['EncryptCommitment']\n | ResolversParentTypes['TransactCommitment'];\n CommitmentCiphertext: CommitmentCiphertext;\n CommitmentCiphertext_filter: CommitmentCiphertext_filter;\n CommitmentPreimage: CommitmentPreimage;\n CommitmentPreimage_filter: CommitmentPreimage_filter;\n Commitment_filter: Commitment_filter;\n Float: Scalars['Float'];\n ID: Scalars['ID'];\n Int: Scalars['Int'];\n LegacyCommitmentCiphertext: LegacyCommitmentCiphertext;\n LegacyCommitmentCiphertext_filter: LegacyCommitmentCiphertext_filter;\n LegacyEncryptedCommitment: LegacyEncryptedCommitment;\n LegacyEncryptedCommitment_filter: LegacyEncryptedCommitment_filter;\n LegacyGeneratedCommitment: LegacyGeneratedCommitment;\n LegacyGeneratedCommitment_filter: LegacyGeneratedCommitment_filter;\n Nullifier: Nullifier;\n Nullifier_filter: Nullifier_filter;\n EncryptCommitment: EncryptCommitment;\n EncryptCommitment_filter: EncryptCommitment_filter;\n String: Scalars['String'];\n Token: Token;\n Token_filter: Token_filter;\n TransactCommitment: TransactCommitment;\n TransactCommitment_filter: TransactCommitment_filter;\n Unshield: Unshield;\n Unshield_filter: Unshield_filter;\n _Block_: _Block_;\n _Meta_: _Meta_;\n}>;\n\nexport type entityDirectiveArgs = {};\n\nexport type entityDirectiveResolver<\n Result,\n Parent,\n ContextType = MeshContext,\n Args = entityDirectiveArgs,\n> = DirectiveResolverFn<Result, Parent, ContextType, Args>;\n\nexport type subgraphIdDirectiveArgs = {\n id: Scalars['String'];\n};\n\nexport type subgraphIdDirectiveResolver<\n Result,\n Parent,\n ContextType = MeshContext,\n Args = subgraphIdDirectiveArgs,\n> = DirectiveResolverFn<Result, Parent, ContextType, Args>;\n\nexport type derivedFromDirectiveArgs = {\n field: Scalars['String'];\n};\n\nexport type derivedFromDirectiveResolver<\n Result,\n Parent,\n ContextType = MeshContext,\n Args = derivedFromDirectiveArgs,\n> = DirectiveResolverFn<Result, Parent, ContextType, Args>;\n\nexport type QueryResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query'],\n> = ResolversObject<{\n token?: Resolver<\n Maybe<ResolversTypes['Token']>,\n ParentType,\n ContextType,\n RequireFields<QuerytokenArgs, 'id' | 'subgraphError'>\n >;\n tokens?: Resolver<\n Array<ResolversTypes['Token']>,\n ParentType,\n ContextType,\n RequireFields<QuerytokensArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n commitmentPreimage?: Resolver<\n Maybe<ResolversTypes['CommitmentPreimage']>,\n ParentType,\n ContextType,\n RequireFields<QuerycommitmentPreimageArgs, 'id' | 'subgraphError'>\n >;\n commitmentPreimages?: Resolver<\n Array<ResolversTypes['CommitmentPreimage']>,\n ParentType,\n ContextType,\n RequireFields<\n QuerycommitmentPreimagesArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n ciphertext?: Resolver<\n Maybe<ResolversTypes['Ciphertext']>,\n ParentType,\n ContextType,\n RequireFields<QueryciphertextArgs, 'id' | 'subgraphError'>\n >;\n ciphertexts?: Resolver<\n Array<ResolversTypes['Ciphertext']>,\n ParentType,\n ContextType,\n RequireFields<QueryciphertextsArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n legacyCommitmentCiphertext?: Resolver<\n Maybe<ResolversTypes['LegacyCommitmentCiphertext']>,\n ParentType,\n ContextType,\n RequireFields<QuerylegacyCommitmentCiphertextArgs, 'id' | 'subgraphError'>\n >;\n legacyCommitmentCiphertexts?: Resolver<\n Array<ResolversTypes['LegacyCommitmentCiphertext']>,\n ParentType,\n ContextType,\n RequireFields<\n QuerylegacyCommitmentCiphertextsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n commitmentCiphertext?: Resolver<\n Maybe<ResolversTypes['CommitmentCiphertext']>,\n ParentType,\n ContextType,\n RequireFields<QuerycommitmentCiphertextArgs, 'id' | 'subgraphError'>\n >;\n commitmentCiphertexts?: Resolver<\n Array<ResolversTypes['CommitmentCiphertext']>,\n ParentType,\n ContextType,\n RequireFields<\n QuerycommitmentCiphertextsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n legacyGeneratedCommitment?: Resolver<\n Maybe<ResolversTypes['LegacyGeneratedCommitment']>,\n ParentType,\n ContextType,\n RequireFields<QuerylegacyGeneratedCommitmentArgs, 'id' | 'subgraphError'>\n >;\n legacyGeneratedCommitments?: Resolver<\n Array<ResolversTypes['LegacyGeneratedCommitment']>,\n ParentType,\n ContextType,\n RequireFields<\n QuerylegacyGeneratedCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n legacyEncryptedCommitment?: Resolver<\n Maybe<ResolversTypes['LegacyEncryptedCommitment']>,\n ParentType,\n ContextType,\n RequireFields<QuerylegacyEncryptedCommitmentArgs, 'id' | 'subgraphError'>\n >;\n legacyEncryptedCommitments?: Resolver<\n Array<ResolversTypes['LegacyEncryptedCommitment']>,\n ParentType,\n ContextType,\n RequireFields<\n QuerylegacyEncryptedCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n encryptCommitment?: Resolver<\n Maybe<ResolversTypes['EncryptCommitment']>,\n ParentType,\n ContextType,\n RequireFields<QueryencryptCommitmentArgs, 'id' | 'subgraphError'>\n >;\n encryptCommitments?: Resolver<\n Array<ResolversTypes['EncryptCommitment']>,\n ParentType,\n ContextType,\n RequireFields<\n QueryencryptCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n transactCommitment?: Resolver<\n Maybe<ResolversTypes['TransactCommitment']>,\n ParentType,\n ContextType,\n RequireFields<QuerytransactCommitmentArgs, 'id' | 'subgraphError'>\n >;\n transactCommitments?: Resolver<\n Array<ResolversTypes['TransactCommitment']>,\n ParentType,\n ContextType,\n RequireFields<\n QuerytransactCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n unshield?: Resolver<\n Maybe<ResolversTypes['Unshield']>,\n ParentType,\n ContextType,\n RequireFields<QueryunshieldArgs, 'id' | 'subgraphError'>\n >;\n unshields?: Resolver<\n Array<ResolversTypes['Unshield']>,\n ParentType,\n ContextType,\n RequireFields<QueryunshieldsArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n nullifier?: Resolver<\n Maybe<ResolversTypes['Nullifier']>,\n ParentType,\n ContextType,\n RequireFields<QuerynullifierArgs, 'id' | 'subgraphError'>\n >;\n nullifiers?: Resolver<\n Array<ResolversTypes['Nullifier']>,\n ParentType,\n ContextType,\n RequireFields<QuerynullifiersArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n commitment?: Resolver<\n Maybe<ResolversTypes['Commitment']>,\n ParentType,\n ContextType,\n RequireFields<QuerycommitmentArgs, 'id' | 'subgraphError'>\n >;\n commitments?: Resolver<\n Array<ResolversTypes['Commitment']>,\n ParentType,\n ContextType,\n RequireFields<QuerycommitmentsArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n _meta?: Resolver<\n Maybe<ResolversTypes['_Meta_']>,\n ParentType,\n ContextType,\n Partial<Query_metaArgs>\n >;\n}>;\n\nexport type SubscriptionResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription'],\n> = ResolversObject<{\n token?: SubscriptionResolver<\n Maybe<ResolversTypes['Token']>,\n 'token',\n ParentType,\n ContextType,\n RequireFields<SubscriptiontokenArgs, 'id' | 'subgraphError'>\n >;\n tokens?: SubscriptionResolver<\n Array<ResolversTypes['Token']>,\n 'tokens',\n ParentType,\n ContextType,\n RequireFields<SubscriptiontokensArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n commitmentPreimage?: SubscriptionResolver<\n Maybe<ResolversTypes['CommitmentPreimage']>,\n 'commitmentPreimage',\n ParentType,\n ContextType,\n RequireFields<SubscriptioncommitmentPreimageArgs, 'id' | 'subgraphError'>\n >;\n commitmentPreimages?: SubscriptionResolver<\n Array<ResolversTypes['CommitmentPreimage']>,\n 'commitmentPreimages',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptioncommitmentPreimagesArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n ciphertext?: SubscriptionResolver<\n Maybe<ResolversTypes['Ciphertext']>,\n 'ciphertext',\n ParentType,\n ContextType,\n RequireFields<SubscriptionciphertextArgs, 'id' | 'subgraphError'>\n >;\n ciphertexts?: SubscriptionResolver<\n Array<ResolversTypes['Ciphertext']>,\n 'ciphertexts',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionciphertextsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n legacyCommitmentCiphertext?: SubscriptionResolver<\n Maybe<ResolversTypes['LegacyCommitmentCiphertext']>,\n 'legacyCommitmentCiphertext',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionlegacyCommitmentCiphertextArgs,\n 'id' | 'subgraphError'\n >\n >;\n legacyCommitmentCiphertexts?: SubscriptionResolver<\n Array<ResolversTypes['LegacyCommitmentCiphertext']>,\n 'legacyCommitmentCiphertexts',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionlegacyCommitmentCiphertextsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n commitmentCiphertext?: SubscriptionResolver<\n Maybe<ResolversTypes['CommitmentCiphertext']>,\n 'commitmentCiphertext',\n ParentType,\n ContextType,\n RequireFields<SubscriptioncommitmentCiphertextArgs, 'id' | 'subgraphError'>\n >;\n commitmentCiphertexts?: SubscriptionResolver<\n Array<ResolversTypes['CommitmentCiphertext']>,\n 'commitmentCiphertexts',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptioncommitmentCiphertextsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n legacyGeneratedCommitment?: SubscriptionResolver<\n Maybe<ResolversTypes['LegacyGeneratedCommitment']>,\n 'legacyGeneratedCommitment',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionlegacyGeneratedCommitmentArgs,\n 'id' | 'subgraphError'\n >\n >;\n legacyGeneratedCommitments?: SubscriptionResolver<\n Array<ResolversTypes['LegacyGeneratedCommitment']>,\n 'legacyGeneratedCommitments',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionlegacyGeneratedCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n legacyEncryptedCommitment?: SubscriptionResolver<\n Maybe<ResolversTypes['LegacyEncryptedCommitment']>,\n 'legacyEncryptedCommitment',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionlegacyEncryptedCommitmentArgs,\n 'id' | 'subgraphError'\n >\n >;\n legacyEncryptedCommitments?: SubscriptionResolver<\n Array<ResolversTypes['LegacyEncryptedCommitment']>,\n 'legacyEncryptedCommitments',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionlegacyEncryptedCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n encryptCommitment?: SubscriptionResolver<\n Maybe<ResolversTypes['EncryptCommitment']>,\n 'encryptCommitment',\n ParentType,\n ContextType,\n RequireFields<SubscriptionencryptCommitmentArgs, 'id' | 'subgraphError'>\n >;\n encryptCommitments?: SubscriptionResolver<\n Array<ResolversTypes['EncryptCommitment']>,\n 'encryptCommitments',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionencryptCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n transactCommitment?: SubscriptionResolver<\n Maybe<ResolversTypes['TransactCommitment']>,\n 'transactCommitment',\n ParentType,\n ContextType,\n RequireFields<SubscriptiontransactCommitmentArgs, 'id' | 'subgraphError'>\n >;\n transactCommitments?: SubscriptionResolver<\n Array<ResolversTypes['TransactCommitment']>,\n 'transactCommitments',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptiontransactCommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n unshield?: SubscriptionResolver<\n Maybe<ResolversTypes['Unshield']>,\n 'unshield',\n ParentType,\n ContextType,\n RequireFields<SubscriptionunshieldArgs, 'id' | 'subgraphError'>\n >;\n unshields?: SubscriptionResolver<\n Array<ResolversTypes['Unshield']>,\n 'unshields',\n ParentType,\n ContextType,\n RequireFields<SubscriptionunshieldsArgs, 'skip' | 'first' | 'subgraphError'>\n >;\n nullifier?: SubscriptionResolver<\n Maybe<ResolversTypes['Nullifier']>,\n 'nullifier',\n ParentType,\n ContextType,\n RequireFields<SubscriptionnullifierArgs, 'id' | 'subgraphError'>\n >;\n nullifiers?: SubscriptionResolver<\n Array<ResolversTypes['Nullifier']>,\n 'nullifiers',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptionnullifiersArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n commitment?: SubscriptionResolver<\n Maybe<ResolversTypes['Commitment']>,\n 'commitment',\n ParentType,\n ContextType,\n RequireFields<SubscriptioncommitmentArgs, 'id' | 'subgraphError'>\n >;\n commitments?: SubscriptionResolver<\n Array<ResolversTypes['Commitment']>,\n 'commitments',\n ParentType,\n ContextType,\n RequireFields<\n SubscriptioncommitmentsArgs,\n 'skip' | 'first' | 'subgraphError'\n >\n >;\n _meta?: SubscriptionResolver<\n Maybe<ResolversTypes['_Meta_']>,\n '_meta',\n ParentType,\n ContextType,\n Partial<Subscription_metaArgs>\n >;\n}>;\n\nexport interface BigDecimalScalarConfig\n extends GraphQLScalarTypeConfig<ResolversTypes['BigDecimal'], any> {\n name: 'BigDecimal';\n}\n\nexport interface BigIntScalarConfig\n extends GraphQLScalarTypeConfig<ResolversTypes['BigInt'], any> {\n name: 'BigInt';\n}\n\nexport interface BytesScalarConfig\n extends GraphQLScalarTypeConfig<ResolversTypes['Bytes'], any> {\n name: 'Bytes';\n}\n\nexport type CiphertextResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Ciphertext'] = ResolversParentTypes['Ciphertext'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n iv?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n tag?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n data?: Resolver<Array<ResolversTypes['Bytes']>, ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type CommitmentResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Commitment'] = ResolversParentTypes['Commitment'],\n> = ResolversObject<{\n __resolveType: TypeResolveFn<\n | 'LegacyEncryptedCommitment'\n | 'LegacyGeneratedCommitment'\n | 'EncryptCommitment'\n | 'TransactCommitment',\n ParentType,\n ContextType\n >;\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n treeNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n batchStartTreePosition?: Resolver<\n ResolversTypes['Int'],\n ParentType,\n ContextType\n >;\n treePosition?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n commitmentType?: Resolver<\n ResolversTypes['CommitmentType'],\n ParentType,\n ContextType\n >;\n hash?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n}>;\n\nexport type CommitmentCiphertextResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['CommitmentCiphertext'] = ResolversParentTypes['CommitmentCiphertext'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n ciphertext?: Resolver<ResolversTypes['Ciphertext'], ParentType, ContextType>;\n blindedSenderViewingKey?: Resolver<\n ResolversTypes['Bytes'],\n ParentType,\n ContextType\n >;\n blindedReceiverViewingKey?: Resolver<\n ResolversTypes['Bytes'],\n ParentType,\n ContextType\n >;\n annotationData?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n memo?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type CommitmentPreimageResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['CommitmentPreimage'] = ResolversParentTypes['CommitmentPreimage'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n npk?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n token?: Resolver<ResolversTypes['Token'], ParentType, ContextType>;\n value?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type LegacyCommitmentCiphertextResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['LegacyCommitmentCiphertext'] = ResolversParentTypes['LegacyCommitmentCiphertext'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n ciphertext?: Resolver<ResolversTypes['Ciphertext'], ParentType, ContextType>;\n ephemeralKeys?: Resolver<\n Array<ResolversTypes['Bytes']>,\n ParentType,\n ContextType\n >;\n memo?: Resolver<Array<ResolversTypes['Bytes']>, ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type LegacyEncryptedCommitmentResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['LegacyEncryptedCommitment'] = ResolversParentTypes['LegacyEncryptedCommitment'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n treeNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n batchStartTreePosition?: Resolver<\n ResolversTypes['Int'],\n ParentType,\n ContextType\n >;\n treePosition?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n commitmentType?: Resolver<\n ResolversTypes['CommitmentType'],\n ParentType,\n ContextType\n >;\n hash?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n ciphertext?: Resolver<\n ResolversTypes['LegacyCommitmentCiphertext'],\n ParentType,\n ContextType\n >;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type LegacyGeneratedCommitmentResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['LegacyGeneratedCommitment'] = ResolversParentTypes['LegacyGeneratedCommitment'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n treeNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n batchStartTreePosition?: Resolver<\n ResolversTypes['Int'],\n ParentType,\n ContextType\n >;\n treePosition?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n commitmentType?: Resolver<\n ResolversTypes['CommitmentType'],\n ParentType,\n ContextType\n >;\n hash?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n preimage?: Resolver<\n ResolversTypes['CommitmentPreimage'],\n ParentType,\n ContextType\n >;\n encryptedRandom?: Resolver<\n Array<ResolversTypes['Bytes']>,\n ParentType,\n ContextType\n >;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type NullifierResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Nullifier'] = ResolversParentTypes['Nullifier'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n treeNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n nullifier?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type EncryptCommitmentResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['EncryptCommitment'] = ResolversParentTypes['EncryptCommitment'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n treeNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n batchStartTreePosition?: Resolver<\n ResolversTypes['Int'],\n ParentType,\n ContextType\n >;\n treePosition?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n commitmentType?: Resolver<\n ResolversTypes['CommitmentType'],\n ParentType,\n ContextType\n >;\n hash?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n preimage?: Resolver<\n ResolversTypes['CommitmentPreimage'],\n ParentType,\n ContextType\n >;\n encryptedBundle?: Resolver<\n Array<ResolversTypes['Bytes']>,\n ParentType,\n ContextType\n >;\n encryptKey?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n fee?: Resolver<Maybe<ResolversTypes['BigInt']>, ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type TokenResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Token'] = ResolversParentTypes['Token'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n tokenType?: Resolver<ResolversTypes['TokenType'], ParentType, ContextType>;\n tokenAddress?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n tokenSubID?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type TransactCommitmentResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['TransactCommitment'] = ResolversParentTypes['TransactCommitment'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n treeNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n batchStartTreePosition?: Resolver<\n ResolversTypes['Int'],\n ParentType,\n ContextType\n >;\n treePosition?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n commitmentType?: Resolver<\n ResolversTypes['CommitmentType'],\n ParentType,\n ContextType\n >;\n hash?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n ciphertext?: Resolver<\n ResolversTypes['CommitmentCiphertext'],\n ParentType,\n ContextType\n >;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type UnshieldResolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['Unshield'] = ResolversParentTypes['Unshield'],\n> = ResolversObject<{\n id?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n blockNumber?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n blockTimestamp?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n transactionHash?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n to?: Resolver<ResolversTypes['Bytes'], ParentType, ContextType>;\n token?: Resolver<ResolversTypes['Token'], ParentType, ContextType>;\n amount?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n fee?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n eventLogIndex?: Resolver<ResolversTypes['BigInt'], ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type _Block_Resolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['_Block_'] = ResolversParentTypes['_Block_'],\n> = ResolversObject<{\n hash?: Resolver<Maybe<ResolversTypes['Bytes']>, ParentType, ContextType>;\n number?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;\n timestamp?: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type _Meta_Resolvers<\n ContextType = MeshContext,\n ParentType extends ResolversParentTypes['_Meta_'] = ResolversParentTypes['_Meta_'],\n> = ResolversObject<{\n block?: Resolver<ResolversTypes['_Block_'], ParentType, ContextType>;\n deployment?: Resolver<ResolversTypes['String'], ParentType, ContextType>;\n hasIndexingErrors?: Resolver<\n ResolversTypes['Boolean'],\n ParentType,\n ContextType\n >;\n __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;\n}>;\n\nexport type Resolvers<ContextType = MeshContext> = ResolversObject<{\n Query?: QueryResolvers<ContextType>;\n Subscription?: SubscriptionResolvers<ContextType>;\n BigDecimal?: GraphQLScalarType;\n BigInt?: GraphQLScalarType;\n Bytes?: GraphQLScalarType;\n Ciphertext?: CiphertextResolvers<ContextType>;\n Commitment?: CommitmentResolvers<ContextType>;\n CommitmentCiphertext?: CommitmentCiphertextResolvers<ContextType>;\n CommitmentPreimage?: CommitmentPreimageResolvers<ContextType>;\n LegacyCommitmentCiphertext?: LegacyCommitmentCiphertextResolvers<ContextType>;\n LegacyEncryptedCommitment?: LegacyEncryptedCommitmentResolvers<ContextType>;\n LegacyGeneratedCommitment?: LegacyGeneratedCommitmentResolvers<ContextType>;\n Nullifier?: NullifierResolvers<ContextType>;\n EncryptCommitment?: EncryptCommitmentResolvers<ContextType>;\n Token?: TokenResolvers<ContextType>;\n TransactCommitment?: TransactCommitmentResolvers<ContextType>;\n Unshield?: UnshieldResolvers<ContextType>;\n _Block_?: _Block_Resolvers<ContextType>;\n _Meta_?: _Meta_Resolvers<ContextType>;\n}>;\n\nexport type DirectiveResolvers<ContextType = MeshContext> = ResolversObject<{\n entity?: entityDirectiveResolver<any, any, ContextType>;\n subgraphId?: subgraphIdDirectiveResolver<any, any, ContextType>;\n derivedFrom?: derivedFromDirectiveResolver<any, any, ContextType>;\n}>;\n\nexport type MeshContext = GoerliTypes.Context &\n ArbitrumGoerliTypes.Context &\n MumbaiTypes.Context &\n EthereumTypes.Context &\n MaticTypes.Context &\n BscTypes.Context &\n ArbitrumOneTypes.Context &\n BaseMeshContext;\n\nconst baseDir = pathModule.join(\n typeof __dirname === 'string' ? __dirname : '/',\n '..',\n);\n\nconst importFn: ImportFn = <T>(moduleId: string) => {\n const relativeModuleId = (\n pathModule.isAbsolute(moduleId)\n ? pathModule.relative(baseDir, moduleId)\n : moduleId\n )\n .split('\\\\')\n .join('/');\n // .replace(`${baseDir}/`, ''); // MODIFIED\n switch (relativeModuleId) {\n case '.graphclient/sources/goerli/introspectionSchema':\n return import('./.graphclient/sources/goerli/introspectionSchema') as T;\n\n case '.graphclient/sources/arbitrum-goerli/introspectionSchema':\n return import(\n './.graphclient/sources/arbitrum-goerli/introspectionSchema'\n ) as T;\n\n case '.graphclient/sources/mumbai/introspectionSchema':\n return import('./.graphclient/sources/mumbai/introspectionSchema') as T;\n\n case '.graphclient/sources/ethereum/introspectionSchema':\n return import('./.graphclient/sources/ethereum/introspectionSchema') as T;\n\n case '.graphclient/sources/matic/introspectionSchema':\n return import('./.graphclient/sources/matic/introspectionSchema') as T;\n\n case '.graphclient/sources/bsc/introspectionSchema':\n return import('./.graphclient/sources/bsc/introspectionSchema') as T;\n\n case '.graphclient/sources/arbitrum-one/introspectionSchema':\n return import(\n './.graphclient/sources/arbitrum-one/introspectionSchema'\n ) as T;\n\n default:\n return Promise.reject(\n new Error(`Cannot find module '${relativeModuleId}'.`),\n );\n }\n};\n\nconst rootStore = new MeshStore(\n '.graphclient',\n new FsStoreStorageAdapter({\n cwd: baseDir,\n importFn,\n fileType: 'ts',\n }),\n {\n readonly: true,\n validate: false,\n },\n);\n\nexport const rawServeConfig: YamlConfig.Config['serve'] = undefined as any;\nexport async function getMeshOptions(): Promise<GetMeshOptions> {\n const pubsub = new PubSub();\n const sourcesStore = rootStore.child('sources');\n const logger = new DefaultLogger('GraphClient');\n const cache = new (MeshCache as any)({\n ...({} as any),\n importFn,\n store: rootStore.child('cache'),\n pubsub,\n logger,\n } );\n\n const sources: MeshResolvedSource[] = [];\n const transforms: MeshTransform[] = [];\n const additionalEnvelopPlugins: MeshPlugin<any>[] = [];\n const ethereumTransforms = [];\n const goerliTransforms = [];\n const bscTransforms = [];\n const maticTransforms = [];\n const mumbaiTransforms = [];\n const arbitrumOneTransforms = [];\n const arbitrumGoerliTransforms = [];\n const xlayerTransforms = [];\n const xlayerTestnetransforms = [];\n const additionalTypeDefs = [] as any[];\n const ethereumHandler = new GraphqlHandler({\n name: 'ethereum',\n config: {\n endpoint:\n 'https://subgraph.satsuma-prod.com/323ce71d2cc0/usman--186639/dopmainnetethv2/api',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('ethereum'),\n logger: logger.child('ethereum'),\n importFn,\n });\n // 'https://api.thegraph.com/subgraphs/name/dop-community/dop-v2-goerli', \n const goerliHandler = new GraphqlHandler({\n name: 'goerli',\n config: {\n endpoint:\n 'https://api.thegraph.com/subgraphs/name/waleed-shafiq/dop-goerli',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('goerli'),\n logger: logger.child('goerli'),\n importFn,\n });\n const bscHandler = new GraphqlHandler({\n name: 'bsc',\n config: {\n endpoint:\n 'https://api.thegraph.com/subgraphs/name/dop-community/dop-v2-bsc',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('bsc'),\n logger: logger.child('bsc'),\n importFn,\n });\n const maticHandler = new GraphqlHandler({\n name: 'matic',\n config: {\n endpoint:\n 'https://subgraph.satsuma-prod.com/323ce71d2cc0/usman--186639/dopmainnetpolygonv2/api',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('matic'),\n logger: logger.child('matic'),\n importFn,\n });\n const mumbaiHandler = new GraphqlHandler({\n name: 'mumbai',\n config: {\n endpoint:\n 'https://subgraph.satsuma-prod.com/323ce71d2cc0/usman--186639/dopmainnetpolygonv2/api',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('mumbai'),\n logger: logger.child('mumbai'),\n importFn,\n });\n const arbitrumOneHandler = new GraphqlHandler({\n name: 'arbitrum-one',\n config: {\n endpoint:\n 'https://api.thegraph.com/subgraphs/name/dop-community/dop-v2-arbitrum',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('arbitrum-one'),\n logger: logger.child('arbitrum-one'),\n importFn,\n });\n const arbitrumGoerliHandler = new GraphqlHandler({\n name: 'arbitrum-goerli',\n config: {\n endpoint:\n 'https://api.thegraph.com/subgraphs/name/dop-community/dop-v2-arbitrum-goerli',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('arbitrum-goerli'),\n logger: logger.child('arbitrum-goerli'),\n importFn,\n });\n const xlayerHandler = new GraphqlHandler({\n name: 'xlayer',\n config: {\n endpoint:\n 'https://api.studio.thegraph.com/query/75971/xlayermainnetv2/version/latest',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('xlayer'),\n logger: logger.child('xlayer'),\n importFn,\n });\n const xlayerTestnetHandler = new GraphqlHandler({\n name: 'xlayer-testnet',\n config: {\n endpoint:\n 'https://api.studio.thegraph.com/query/75971/xlayermainnetv2/version/latest',\n },\n baseDir,\n cache,\n pubsub,\n store: sourcesStore.child('xlayer-testnet'),\n logger: logger.child('xlayer-testnet'),\n importFn,\n });\n sources[0] = {\n name: 'ethereum',\n handler: ethereumHandler,\n transforms: ethereumTransforms,\n };\n sources[1] = {\n name: 'goerli',\n handler: goerliHandler,\n transforms: goerliTransforms,\n };\n sources[2] = {\n name: 'bsc',\n handler: bscHandler,\n transforms: bscTransforms,\n };\n sources[3] = {\n name: 'matic',\n handler: maticHandler,\n transforms: maticTransforms,\n };\n sources[4] = {\n name: 'mumbai',\n handler: mumbaiHandler,\n transforms: mumbaiTransforms,\n };\n sources[5] = {\n name: 'arbitrum-one',\n handler: arbitrumOneHandler,\n transforms: arbitrumOneTransforms,\n };\n sources[6] = {\n name: 'arbitrum-goerli',\n handler: arbitrumGoerliHandler,\n transforms: arbitrumGoerliTransforms,\n };\n sources[7] = {\n name: 'xlayer',\n handler: xlayerHandler,\n transforms: xlayerTransforms,\n };\n sources[8] = {\n name: 'xlayer-testnet',\n handler: xlayerTestnetHandler,\n transforms: xlayerTestnetransforms,\n };\n const additionalResolvers = [] as any[];\n const merger = new (StitchingMerger as any)({\n cache,\n pubsub,\n logger: logger.child('stitchingMerger'),\n store: rootStore.child('stitchingMerger'),\n });\n\n return {\n sources,\n transforms,\n additionalTypeDefs,\n additionalResolvers,\n cache,\n pubsub,\n merger,\n logger,\n additionalEnvelopPlugins,\n get documents() {\n return [\n {\n document: NullifiersDocument,\n get rawSDL() {\n return printWithCache(NullifiersDocument);\n },\n location: 'NullifiersDocument.graphql',\n },\n {\n document: UnshieldsDocument,\n get rawSDL() {\n return printWithCache(UnshieldsDocument);\n },\n location: 'UnshieldsDocument.graphql',\n },\n {\n document: CommitmentsDocument,\n get rawSDL() {\n return printWithCache(CommitmentsDocument);\n },\n location: 'CommitmentsDocument.graphql',\n },\n ];\n },\n fetchFn,\n };\n}\n\nexport function createBuiltMeshHTTPHandler<\n TServerContext = {},\n>(): MeshHTTPHandler<TServerContext> {\n return createMeshHTTPHandler<TServerContext>({\n baseDir,\n getBuiltMesh: getBuiltGraphClient,\n rawServeConfig: undefined,\n });\n}\n\nlet meshInstance$: Promise<MeshInstance> | undefined;\n\nexport function getBuiltGraphClient(): Promise<MeshInstance> {\n if (meshInstance$ == null) {\n meshInstance$ = getMeshOptions()\n .then(meshOptions => getMesh(meshOptions))\n .then(mesh => {\n const id = mesh.pubsub.subscribe('destroy', () => {\n meshInstance$ = undefined;\n mesh.pubsub.unsubscribe(id);\n });\n return mesh;\n });\n }\n return meshInstance$;\n}\n\nexport const execute: ExecuteMeshFn = (...args) =>\n getBuiltGraphClient().then(({ execute }) => execute(...args));\n\nexport const subscribe: SubscribeMeshFn = (...args) =>\n getBuiltGraphClient().then(({ subscribe }) => subscribe(...args));\nexport function getBuiltGraphSDK<TGlobalContext = any, TOperationContext = any>(\n globalContext?: TGlobalContext,\n) {\n const sdkRequester$ = getBuiltGraphClient().then(({ sdkRequesterFactory }) =>\n sdkRequesterFactory(globalContext),\n );\n return getSdk<TOperationContext, TGlobalContext>((...args) =>\n sdkRequester$.then(sdkRequester => sdkRequester(...args)),\n );\n}\nexport type NullifiersQueryVariables = Exact<{\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n}>;\n\nexport type NullifiersQuery = {\n nullifiers: Array<\n Pick<\n Nullifier,\n | 'id'\n | 'blockNumber'\n | 'nullifier'\n | 'transactionHash'\n | 'blockTimestamp'\n | 'treeNumber'\n >\n >;\n};\n\nexport type UnshieldsQueryVariables = Exact<{\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n}>;\n// TODO change unshields\nexport type UnshieldsQuery = {\n unshields: Array<\n Pick<\n Unshield,\n | 'id'\n | 'blockNumber'\n | 'to'\n | 'transactionHash'\n | 'fee'\n | 'blockTimestamp'\n | 'amount'\n | 'eventLogIndex'\n > & {\n token: Pick<Token, 'id' | 'tokenType' | 'tokenSubID' | 'tokenAddress'>;\n }\n >;\n};\n\nexport type CommitmentsQueryVariables = Exact<{\n blockNumber?: InputMaybe<Scalars['BigInt']>;\n}>;\n\nexport type CommitmentsQuery = {\n commitments: Array<\n | (Pick<\n LegacyEncryptedCommitment,\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n > & {\n legacyCiphertext: Pick<\n LegacyCommitmentCiphertext,\n 'id' | 'ephemeralKeys' | 'memo'\n > & { ciphertext: Pick<Ciphertext, 'id' | 'iv' | 'tag' | 'data'> };\n })\n | (Pick<\n LegacyGeneratedCommitment,\n | 'id'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'blockNumber'\n | 'transactionHash'\n | 'blockTimestamp'\n | 'commitmentType'\n | 'hash'\n | 'encryptedRandom'\n > & {\n preimage: Pick<CommitmentPreimage, 'id' | 'npk' | 'value'> & {\n token: Pick<\n Token,\n 'id' | 'tokenType' | 'tokenSubID' | 'tokenAddress'\n >;\n };\n })\n | (Pick<\n EncryptCommitment,\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n | 'encryptKey'\n | 'fee'\n | 'encryptedBundle'\n > & {\n preimage: Pick<CommitmentPreimage, 'id' | 'npk' | 'value'> & {\n token: Pick<\n Token,\n 'id' | 'tokenType' | 'tokenSubID' | 'tokenAddress'\n >;\n };\n })\n | (Pick<\n TransactCommitment,\n | 'id'\n | 'blockNumber'\n | 'blockTimestamp'\n | 'transactionHash'\n | 'treeNumber'\n | 'batchStartTreePosition'\n | 'treePosition'\n | 'commitmentType'\n | 'hash'\n > & {\n ciphertext: Pick<\n CommitmentCiphertext,\n | 'id'\n | 'blindedSenderViewingKey'\n | 'blindedReceiverViewingKey'\n | 'annotationData'\n | 'memo'\n > & { ciphertext: Pick<Ciphertext, 'id' | 'iv' | 'tag' | 'data'> };\n })\n >;\n};\n\nexport const NullifiersDocument = gql`\n query Nullifiers($blockNumber: BigInt = 0) {\n nullifiers(\n orderBy: blockNumber\n where: { blockNumber_gte: $blockNumber }\n first: 1000\n ) {\n id\n blockNumber\n nullifier\n transactionHash\n blockTimestamp\n treeNumber\n }\n }\n` as unknown as DocumentNode<NullifiersQuery, NullifiersQueryVariables>;\n// TODO change Unshields to Decrypts\nexport const UnshieldsDocument = gql` \n query Decrypts($blockNumber: BigInt = 0) {\n decrypts(\n orderBy: blockNumber\n where: { blockNumber_gte: $blockNumber }\n first: 1000\n ) {\n id\n blockNumber\n to\n transactionHash\n fee\n blockTimestamp\n amount\n eventLogIndex\n token {\n id\n tokenType\n tokenSubID\n tokenAddress\n }\n }\n }\n` as unknown as DocumentNode<UnshieldsQuery, UnshieldsQueryVariables>;\nexport const CommitmentsDocument = gql`\n query Commitments($blockNumber: BigInt = 0) {\n commitments(\n orderBy: blockNumber\n where: { blockNumber_gte: $blockNumber }\n first: 1000\n ) {\n id\n treeNumber\n batchStartTreePosition\n treePosition\n blockNumber\n transactionHash\n blockTimestamp\n commitmentType\n hash\n ... on LegacyGeneratedCommitment {\n id\n treeNumber\n batchStartTreePosition\n treePosition\n blockNumber\n transactionHash\n blockTimestamp\n commitmentType\n hash\n encryptedRandom\n preimage {\n id\n npk\n value\n token {\n id\n tokenType\n tokenSubID\n tokenAddress\n }\n }\n }\n ... on LegacyEncryptedCommitment {\n id\n blockNumber\n blockTimestamp\n transactionHash\n treeNumber\n batchStartTreePosition\n treePosition\n commitmentType\n hash\n legacyCiphertext: ciphertext {\n id\n ciphertext {\n id\n iv\n tag\n data\n }\n ephemeralKeys\n memo\n }\n }\n ... on EncryptCommitment {\n id\n blockNumber\n blockTimestamp\n transactionHash\n treeNumber\n batchStartTreePosition\n treePosition\n commitmentType\n hash\n encryptKey\n fee\n encryptedBundle\n preimage {\n id\n npk\n value\n token {\n id\n tokenType\n tokenSubID\n tokenAddress\n }\n }\n }\n ... on TransactCommitment {\n id\n blockNumber\n blockTimestamp\n transactionHash\n treeNumber\n batchStartTreePosition\n treePosition\n commitmentType\n hash\n ciphertext {\n id\n ciphertext {\n id\n iv\n tag\n data\n }\n blindedSenderViewingKey\n blindedReceiverViewingKey\n annotationData\n memo\n }\n }\n }\n }\n` as unknown as DocumentNode<CommitmentsQuery, CommitmentsQueryVariables>;\n\nexport type Requester<C = {}, E = unknown> = <R, V>(\n doc: DocumentNode,\n vars?: V,\n options?: C,\n) => Promise<R> | AsyncIterable<R>;\nexport function getSdk<C, E>(requester: Requester<C, E>) {\n return {\n Nullifiers(\n variables?: NullifiersQueryVariables,\n options?: C,\n ): Promise<NullifiersQuery> {\n return requester<NullifiersQuery, NullifiersQueryVariables>(\n NullifiersDocument,\n variables,\n options,\n ) as Promise<NullifiersQuery>;\n },\n Unshields(\n variables?: UnshieldsQueryVariables,\n options?: C,\n ): Promise<UnshieldsQuery> {\n return requester<UnshieldsQuery, UnshieldsQueryVariables>(\n UnshieldsDocument,\n variables,\n options,\n ) as Promise<UnshieldsQuery>;\n },\n Commitments(\n variables?: CommitmentsQueryVariables,\n options?: C,\n ): Promise<CommitmentsQuery> {\n return requester<CommitmentsQuery, CommitmentsQueryVariables>(\n CommitmentsDocument,\n variables,\n options,\n ) as Promise<CommitmentsQuery>;\n },\n };\n}\nexport type Sdk = ReturnType<typeof getSdk>;\n"]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.quickSyncGraph = void 0;
|
|
4
|
+
const dop_sharedmodel_v5_1 = require("dop-sharedmodel-v5");
|
|
5
|
+
const empty_events_1 = require("./empty-events");
|
|
6
|
+
const graphql_1 = require("./graphql");
|
|
7
|
+
const runtime_1 = require("@graphql-mesh/runtime");
|
|
8
|
+
const graph_type_formatters_1 = require("./graph-type-formatters");
|
|
9
|
+
const meshes = {};
|
|
10
|
+
// 1.5 full trees of commitments
|
|
11
|
+
// TODO: This will have to change when we have more than 100k commitments.
|
|
12
|
+
const MAX_QUERY_RESULTS = 100000;
|
|
13
|
+
const sourceNameForNetwork = (networkName) => {
|
|
14
|
+
switch (networkName) {
|
|
15
|
+
case dop_sharedmodel_v5_1.NetworkName.Ethereum:
|
|
16
|
+
return 'ethereum';
|
|
17
|
+
case dop_sharedmodel_v5_1.NetworkName.EthereumGoerli:
|
|
18
|
+
return 'goerli';
|
|
19
|
+
case dop_sharedmodel_v5_1.NetworkName.BNBChain:
|
|
20
|
+
return 'bsc';
|
|
21
|
+
case dop_sharedmodel_v5_1.NetworkName.Polygon:
|
|
22
|
+
return 'matic';
|
|
23
|
+
case dop_sharedmodel_v5_1.NetworkName.Arbitrum:
|
|
24
|
+
return 'arbitrum-one';
|
|
25
|
+
case dop_sharedmodel_v5_1.NetworkName.ArbitrumGoerli:
|
|
26
|
+
return 'arbitrum-goerli';
|
|
27
|
+
case dop_sharedmodel_v5_1.NetworkName.Xlayer:
|
|
28
|
+
return 'xlayer';
|
|
29
|
+
case dop_sharedmodel_v5_1.NetworkName.XlayerTestnet:
|
|
30
|
+
return 'xlayer-testnet';
|
|
31
|
+
case dop_sharedmodel_v5_1.NetworkName.PolygonMumbai:
|
|
32
|
+
return 'mumbai';
|
|
33
|
+
case dop_sharedmodel_v5_1.NetworkName.Dop:
|
|
34
|
+
case dop_sharedmodel_v5_1.NetworkName.EthereumRopsten_DEPRECATED:
|
|
35
|
+
case dop_sharedmodel_v5_1.NetworkName.Hardhat:
|
|
36
|
+
throw new Error('No Graph API hosted service for this network');
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const quickSyncGraph = async (chain, startingBlock) => {
|
|
40
|
+
const network = (0, dop_sharedmodel_v5_1.networkForChain)(chain);
|
|
41
|
+
if (!network || !network.shouldQuickSync) {
|
|
42
|
+
// Return empty logs, Engine will default to full scan.
|
|
43
|
+
return empty_events_1.EMPTY_EVENTS;
|
|
44
|
+
}
|
|
45
|
+
const sdk = getBuiltGraphSDK(network.name);
|
|
46
|
+
const [nullifiers, unshields, commitments] = await Promise.all([
|
|
47
|
+
autoPaginatingQuery(async (blockNumber) => (await sdk.Nullifiers({
|
|
48
|
+
blockNumber,
|
|
49
|
+
})).nullifiers, startingBlock.toString()),
|
|
50
|
+
autoPaginatingQuery(async (blockNumber) => (await sdk.Unshields({
|
|
51
|
+
blockNumber,
|
|
52
|
+
})).unshields, startingBlock.toString()),
|
|
53
|
+
autoPaginatingQuery(async (blockNumber) => (await sdk.Commitments({
|
|
54
|
+
blockNumber,
|
|
55
|
+
})).commitments, startingBlock.toString()),
|
|
56
|
+
]);
|
|
57
|
+
const filteredNullifiers = removeDuplicatesByID(nullifiers);
|
|
58
|
+
const filteredUnshields = removeDuplicatesByID(unshields);
|
|
59
|
+
const filteredCommitments = removeDuplicatesByID(commitments);
|
|
60
|
+
const graphCommitmentBatches = createGraphCommitmentBatches(filteredCommitments);
|
|
61
|
+
graphCommitmentBatches.sort(sortByTreeNumberAndStartPosition);
|
|
62
|
+
const nullifierEvents = (0, graph_type_formatters_1.formatGraphNullifierEvents)(filteredNullifiers);
|
|
63
|
+
const unshieldEvents = (0, graph_type_formatters_1.formatGraphUnshieldEvents)(filteredUnshields);
|
|
64
|
+
const commitmentEvents = (0, graph_type_formatters_1.formatGraphCommitmentEvents)(graphCommitmentBatches);
|
|
65
|
+
return { nullifierEvents, unshieldEvents, commitmentEvents };
|
|
66
|
+
};
|
|
67
|
+
exports.quickSyncGraph = quickSyncGraph;
|
|
68
|
+
const createGraphCommitmentBatches = (flattenedCommitments) => {
|
|
69
|
+
const graphCommitmentMap = {};
|
|
70
|
+
for (const commitment of flattenedCommitments) {
|
|
71
|
+
const startPosition = commitment.batchStartTreePosition;
|
|
72
|
+
const existingBatch = graphCommitmentMap[startPosition];
|
|
73
|
+
if ((0, dop_sharedmodel_v5_1.isDefined)(existingBatch)) {
|
|
74
|
+
existingBatch.commitments.push(commitment);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
graphCommitmentMap[commitment.batchStartTreePosition] = {
|
|
78
|
+
commitments: [commitment],
|
|
79
|
+
transactionHash: commitment.transactionHash,
|
|
80
|
+
treeNumber: commitment.treeNumber,
|
|
81
|
+
startPosition: commitment.batchStartTreePosition,
|
|
82
|
+
blockNumber: Number(commitment.blockNumber),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return (0, dop_sharedmodel_v5_1.removeUndefineds)(Object.values(graphCommitmentMap));
|
|
87
|
+
};
|
|
88
|
+
const autoPaginatingQuery = async (query, blockNumber, prevResults = []) => {
|
|
89
|
+
const newResults = await query(blockNumber);
|
|
90
|
+
if (newResults.length === 0) {
|
|
91
|
+
return prevResults;
|
|
92
|
+
}
|
|
93
|
+
const totalResults = prevResults.concat(newResults);
|
|
94
|
+
const overLimit = totalResults.length >= MAX_QUERY_RESULTS;
|
|
95
|
+
const lastResult = totalResults[totalResults.length - 1];
|
|
96
|
+
const shouldQueryMore = newResults.length === 1000;
|
|
97
|
+
if (!overLimit && shouldQueryMore) {
|
|
98
|
+
return autoPaginatingQuery(query, lastResult.blockNumber, totalResults);
|
|
99
|
+
}
|
|
100
|
+
return totalResults;
|
|
101
|
+
};
|
|
102
|
+
const removeDuplicatesByID = (array) => {
|
|
103
|
+
const seen = new Set();
|
|
104
|
+
return array.filter((item) => {
|
|
105
|
+
const duplicate = seen.has(item.id);
|
|
106
|
+
seen.add(item.id);
|
|
107
|
+
return !duplicate;
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
const sortByTreeNumberAndStartPosition = (a, b) => {
|
|
111
|
+
if (a.treeNumber < b.treeNumber) {
|
|
112
|
+
return -1;
|
|
113
|
+
}
|
|
114
|
+
if (a.treeNumber > b.treeNumber) {
|
|
115
|
+
return 1;
|
|
116
|
+
}
|
|
117
|
+
if (a.startPosition < b.startPosition) {
|
|
118
|
+
return -1;
|
|
119
|
+
}
|
|
120
|
+
if (a.startPosition > b.startPosition) {
|
|
121
|
+
return 1;
|
|
122
|
+
}
|
|
123
|
+
return 0;
|
|
124
|
+
};
|
|
125
|
+
const getBuiltGraphClient = async (networkName) => {
|
|
126
|
+
const meshForNetwork = meshes[networkName];
|
|
127
|
+
if ((0, dop_sharedmodel_v5_1.isDefined)(meshForNetwork)) {
|
|
128
|
+
return meshForNetwork;
|
|
129
|
+
}
|
|
130
|
+
const sourceName = sourceNameForNetwork(networkName);
|
|
131
|
+
const meshOptions = await (0, graphql_1.getMeshOptions)();
|
|
132
|
+
const filteredSources = meshOptions.sources.filter(source => {
|
|
133
|
+
return source.name === sourceName;
|
|
134
|
+
});
|
|
135
|
+
if (filteredSources.length !== 1) {
|
|
136
|
+
throw new Error(`Expected exactly one source for network ${networkName}, found ${filteredSources.length}`);
|
|
137
|
+
}
|
|
138
|
+
meshOptions.sources = [filteredSources[0]];
|
|
139
|
+
const mesh = await (0, runtime_1.getMesh)(meshOptions);
|
|
140
|
+
meshes[networkName] = mesh;
|
|
141
|
+
const id = mesh.pubsub.subscribe('destroy', () => {
|
|
142
|
+
mesh.pubsub.unsubscribe(id);
|
|
143
|
+
});
|
|
144
|
+
return mesh;
|
|
145
|
+
};
|
|
146
|
+
const getBuiltGraphSDK = (networkName, globalContext) => {
|
|
147
|
+
const sdkRequester$ = getBuiltGraphClient(networkName).then(({ sdkRequesterFactory }) => sdkRequesterFactory(globalContext));
|
|
148
|
+
return (0, graphql_1.getSdk)((...args) => sdkRequester$.then(sdkRequester => sdkRequester(...args)));
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=quick-sync-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quick-sync-graph.js","sourceRoot":"","sources":["../../../../src/services/dop/quick-sync/quick-sync-graph.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccumulatedEvents, Chain } from 'dop-engine-v5';\nimport {\n NetworkName,\n isDefined,\n networkForChain,\n removeUndefineds,\n} from 'dop-sharedmodel-v5';\nimport { EMPTY_EVENTS } from './empty-events';\nimport { getMeshOptions, getSdk } from './graphql';\nimport { MeshInstance, getMesh } from '@graphql-mesh/runtime';\nimport {\n GraphCommitment,\n GraphCommitmentBatch,\n formatGraphCommitmentEvents,\n formatGraphNullifierEvents,\n formatGraphUnshieldEvents,\n} from './graph-type-formatters';\n\nconst meshes: MapType<MeshInstance> = {};\n\n// 1.5 full trees of commitments\n// TODO: This will have to change when we have more than 100k commitments.\nconst MAX_QUERY_RESULTS = 100000;\n\nconst sourceNameForNetwork = (networkName: NetworkName): string => {\n switch (networkName) {\n case NetworkName.Ethereum:\n return 'ethereum';\n case NetworkName.EthereumGoerli:\n return 'goerli';\n case NetworkName.BNBChain:\n return 'bsc';\n case NetworkName.Polygon:\n return 'matic';\n case NetworkName.Arbitrum:\n return 'arbitrum-one';\n case NetworkName.ArbitrumGoerli:\n return 'arbitrum-goerli';\n case NetworkName.Xlayer:\n return 'xlayer';\n case NetworkName.XlayerTestnet:\n return 'xlayer-testnet';\n case NetworkName.PolygonMumbai:\n return 'mumbai';\n case NetworkName.Dop:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.Hardhat:\n throw new Error('No Graph API hosted service for this network');\n }\n};\n\nexport const quickSyncGraph = async (\n chain: Chain,\n startingBlock: number,\n): Promise<AccumulatedEvents> => {\n const network = networkForChain(chain);\n if (!network || !network.shouldQuickSync) {\n // Return empty logs, Engine will default to full scan.\n return EMPTY_EVENTS;\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const [nullifiers, unshields, commitments] = await Promise.all([\n autoPaginatingQuery(\n async (blockNumber: string) =>\n (\n await sdk.Nullifiers({\n blockNumber,\n })\n ).nullifiers,\n startingBlock.toString(),\n ),\n autoPaginatingQuery(\n async (blockNumber: string) =>\n (\n await sdk.Unshields({\n blockNumber,\n })\n ).unshields,\n startingBlock.toString(),\n ),\n autoPaginatingQuery(\n async (blockNumber: string) =>\n (\n await sdk.Commitments({\n blockNumber,\n })\n ).commitments,\n startingBlock.toString(),\n ),\n ]);\n\n const filteredNullifiers = removeDuplicatesByID(nullifiers);\n const filteredUnshields = removeDuplicatesByID(unshields);\n const filteredCommitments = removeDuplicatesByID(commitments);\n const graphCommitmentBatches =\n createGraphCommitmentBatches(filteredCommitments);\n\n graphCommitmentBatches.sort(sortByTreeNumberAndStartPosition);\n\n const nullifierEvents = formatGraphNullifierEvents(filteredNullifiers);\n const unshieldEvents = formatGraphUnshieldEvents(filteredUnshields);\n const commitmentEvents = formatGraphCommitmentEvents(graphCommitmentBatches);\n\n return { nullifierEvents, unshieldEvents, commitmentEvents };\n};\n\nconst createGraphCommitmentBatches = (\n flattenedCommitments: GraphCommitment[],\n): GraphCommitmentBatch[] => {\n const graphCommitmentMap: MapType<GraphCommitmentBatch> = {};\n for (const commitment of flattenedCommitments) {\n const startPosition = commitment.batchStartTreePosition;\n const existingBatch = graphCommitmentMap[startPosition];\n if (isDefined(existingBatch)) {\n existingBatch.commitments.push(commitment);\n } else {\n graphCommitmentMap[commitment.batchStartTreePosition] = {\n commitments: [commitment],\n transactionHash: commitment.transactionHash,\n treeNumber: commitment.treeNumber,\n startPosition: commitment.batchStartTreePosition,\n blockNumber: Number(commitment.blockNumber),\n };\n }\n }\n return removeUndefineds(Object.values(graphCommitmentMap));\n};\n\nconst autoPaginatingQuery = async <ReturnType extends { blockNumber: string }>(\n query: (blockNumber: string) => Promise<ReturnType[]>,\n blockNumber: string,\n prevResults: ReturnType[] = [],\n): Promise<ReturnType[]> => {\n const newResults = await query(blockNumber);\n if (newResults.length === 0) {\n return prevResults;\n }\n\n const totalResults = prevResults.concat(newResults);\n\n const overLimit = totalResults.length >= MAX_QUERY_RESULTS;\n const lastResult = totalResults[totalResults.length - 1];\n\n const shouldQueryMore = newResults.length === 1000;\n if (!overLimit && shouldQueryMore) {\n return autoPaginatingQuery(query, lastResult.blockNumber, totalResults);\n }\n\n return totalResults;\n};\n\nconst removeDuplicatesByID = <T extends { id: string }>(array: T[]): T[] => {\n const seen = new Set();\n return array.filter((item: T) => {\n const duplicate = seen.has(item.id);\n seen.add(item.id);\n return !duplicate;\n });\n};\n\nconst sortByTreeNumberAndStartPosition = (\n a: GraphCommitmentBatch,\n b: GraphCommitmentBatch,\n) => {\n if (a.treeNumber < b.treeNumber) {\n return -1;\n }\n if (a.treeNumber > b.treeNumber) {\n return 1;\n }\n if (a.startPosition < b.startPosition) {\n return -1;\n }\n if (a.startPosition > b.startPosition) {\n return 1;\n }\n return 0;\n};\n\nconst getBuiltGraphClient = async (\n networkName: NetworkName,\n): Promise<MeshInstance> => {\n const meshForNetwork = meshes[networkName];\n if (isDefined(meshForNetwork)) {\n return meshForNetwork;\n }\n const sourceName = sourceNameForNetwork(networkName);\n const meshOptions = await getMeshOptions();\n const filteredSources = meshOptions.sources.filter(source => {\n return source.name === sourceName;\n });\n if (filteredSources.length !== 1) {\n throw new Error(\n `Expected exactly one source for network ${networkName}, found ${filteredSources.length}`,\n );\n }\n meshOptions.sources = [filteredSources[0]];\n const mesh = await getMesh(meshOptions);\n meshes[networkName] = mesh;\n const id = mesh.pubsub.subscribe('destroy', () => {\n mesh.pubsub.unsubscribe(id);\n });\n return mesh;\n};\n\nconst getBuiltGraphSDK = <TGlobalContext, TOperationContext>(\n networkName: NetworkName,\n globalContext?: TGlobalContext,\n) => {\n const sdkRequester$ = getBuiltGraphClient(networkName).then(\n ({ sdkRequesterFactory }) => sdkRequesterFactory(globalContext),\n );\n return getSdk<TOperationContext, TGlobalContext>((...args) =>\n sdkRequester$.then(sdkRequester => sdkRequester(...args)),\n );\n};\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { hexlify, fromUTF8String, toUTF8String, hexStringToBytes } from 'dop-engine-v5';
|
|
2
|
+
export declare const parseDopTokenAddress: (tokenAddress: string) => string;
|
|
3
|
+
export declare const getRandomBytes: (length: number) => string;
|
|
4
|
+
export declare const bytesToHex: (bytes: Uint8Array) => string;
|
|
5
|
+
export { hexlify, fromUTF8String, toUTF8String, hexStringToBytes };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hexStringToBytes = exports.toUTF8String = exports.fromUTF8String = exports.hexlify = exports.bytesToHex = exports.getRandomBytes = exports.parseDopTokenAddress = void 0;
|
|
4
|
+
const dop_engine_v5_1 = require("dop-engine-v5");
|
|
5
|
+
Object.defineProperty(exports, "hexlify", { enumerable: true, get: function () { return dop_engine_v5_1.hexlify; } });
|
|
6
|
+
Object.defineProperty(exports, "fromUTF8String", { enumerable: true, get: function () { return dop_engine_v5_1.fromUTF8String; } });
|
|
7
|
+
Object.defineProperty(exports, "toUTF8String", { enumerable: true, get: function () { return dop_engine_v5_1.toUTF8String; } });
|
|
8
|
+
Object.defineProperty(exports, "hexStringToBytes", { enumerable: true, get: function () { return dop_engine_v5_1.hexStringToBytes; } });
|
|
9
|
+
const parseDopTokenAddress = (tokenAddress) => {
|
|
10
|
+
return (0, dop_engine_v5_1.formatToByteLength)(tokenAddress, dop_engine_v5_1.ByteLength.Address, true);
|
|
11
|
+
};
|
|
12
|
+
exports.parseDopTokenAddress = parseDopTokenAddress;
|
|
13
|
+
const getRandomBytes = (length) => {
|
|
14
|
+
return (0, dop_engine_v5_1.randomHex)(length);
|
|
15
|
+
};
|
|
16
|
+
exports.getRandomBytes = getRandomBytes;
|
|
17
|
+
const bytesToHex = (bytes) => {
|
|
18
|
+
return Buffer.from(bytes).toString('hex');
|
|
19
|
+
};
|
|
20
|
+
exports.bytesToHex = bytesToHex;
|
|
21
|
+
//# sourceMappingURL=bytes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../../src/services/dop/util/bytes.ts"],"names":[],"mappings":";;;AAAA,iDAQuB;AAcd,wFAlBP,uBAAO,OAkBO;AAAE,+FAjBhB,8BAAc,OAiBgB;AAAE,6FAhBhC,4BAAY,OAgBgC;AAAE,iGAf9C,gCAAgB,OAe8C;AAZzD,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACnE,OAAO,IAAA,kCAAkB,EAAC,YAAY,EAAE,0BAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEK,MAAM,cAAc,GAAG,CAAC,MAAc,EAAU,EAAE;IACvD,OAAO,IAAA,yBAAS,EAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAU,EAAE;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB","sourcesContent":["import {\n randomHex,\n formatToByteLength,\n ByteLength,\n hexlify,\n fromUTF8String,\n toUTF8String,\n hexStringToBytes,\n} from 'dop-engine-v5';\n\nexport const parseDopTokenAddress = (tokenAddress: string): string => {\n return formatToByteLength(tokenAddress, ByteLength.Address, true);\n};\n\nexport const getRandomBytes = (length: number): string => {\n return randomHex(length);\n};\n\nexport const bytesToHex = (bytes: Uint8Array): string => {\n return Buffer.from(bytes).toString('hex');\n};\n\nexport { hexlify, fromUTF8String, toUTF8String, hexStringToBytes };\n"]}
|