@seedprotocol/eas 0.7.9-next.1177.ga3e08ed → 0.7.9-next.1189.g5e63267

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["types.AttestationFieldsFragmentDoc","types.SchemaFieldsFragmentDoc","types.GetSchemasDocument","types.GetSchemaByNameDocument","types.GetSeedsDocument","types.GetSeedsLeanDocument","types.GetDomainOwnershipsDocument","types.GetSeedIdsDocument","types.GetStorageTransactionIdDocument","types.GetVersionsDocument","types.GetPropertiesDocument","types.GetAllPropertiesForAllVersionsDocument","types.GetFilesMetadataDocument","types.GetImageSeedsDocument","types.GetImageVersionsDocument","types.GetAttestationChangesDocument","asBytes32","asString","asUint64","asBytes32","asString","assertSingleEasModule","DuplicateEasModuleError","getEasAttestationExplorerUrl","configureEasReadChain","BaseQueryClient","getEasReadChainId","resetEasReadChain","whenEasReadChainSettled","OP_STACK_SCHEMA_REGISTRY_ADDRESS","OP_STACK_EAS_CONTRACT_ADDRESS","createEasGraphQLClient","isEasReadChainConfigured","EAS_CHAIN_DEPLOYMENTS","DefaultEasClient","expectEasReadChain","DEFAULT_EAS_CHAIN_ID","EAS_REQUEST_TIMEOUT_MS","getEasEndpoint","DefaultQueryClient","isEasReadChainSettled","getEasChainDeployment","resetEasClientOwnerForTests","BaseEasClient","resolveEasChainDeployment","keccak256Hex","bytes","data","utf8ToBytes","bytesToHex","keccak_256","toSnakeCase","str","checksumAddress","addr","address","hash","result","i","pickNewestPerKey","byKey","att","attestations","sid","key","existing","t","t0","pickLatestPropertyAttestationsByRefAndSchema","live","options","revoked","partitionByRefAttester","attesterByUid","parent","parents","kept","foreign","child","children","parentAttester","keepAttestationsFromRefAttester","withExcludeRevokedFilter","revokedFilter","existingAnd","where","ZERO_ADDRESS","ZERO_BYTES","ZERO_BYTES32","EAS_ENDPOINT","VERSION_SCHEMA_DEF","VERSION_SCHEMA_UID","documents","\"kind\"","\"definitions\"","\"name\"","\"value\"","\"typeCondition\"","\"selectionSet\"","\"selections\"","\"operation\"","\"variableDefinitions\"","\"variable\"","\"type\"","\"alias\"","\"arguments\"","\"values\"","\"fields\"","graphql","source","GET_SCHEMAS","GET_SCHEMA_BY_NAME","GET_SEEDS","GET_SEEDS_LEAN","GET_DOMAIN_OWNERSHIPS","GET_SEED_IDS","GET_STORAGE_TRANSACTION_ID","GET_VERSIONS","GET_PROPERTIES","GET_ALL_PROPERTIES_FOR_ALL_VERSIONS","GET_FILES_METADATA","GET_IMAGE_SEEDS","GET_IMAGE_VERSIONS","GET_ATTESTATION_CHANGES","getItemVersionsFromEas","queryClient","easClient","versionsOfSeeds","seedUids","excludeRevoked","itemVersions","getItemPropertiesFromEas","versionUids","itemProperties","getCanonicalItemPropertiesFromEas","checkAttesters","p","v","knownSeedUids","itemSeeds","seed","trustedVersions","version","trustedVersionUids","property","fetchEasSchemaUidBySchemaName","schemaName","schemas","getEasSchemaUidBySchemaName","error","getSeedsFromSchemaUids","addresses","a","schemaUids","getSeedsBySchemaName","skipVal","skip","uidPrefix","variables","limit","withSchemaNames","names","schemaNamesBySchemaUid","schemaNamesCacheKey","endpoint","schemaUid","resetSchemaNamesCache","getSchemaNamesBySchemaUids","missing","uid","cached","byLowerUid","schema","n","getSeedsByUidsFromEas","uids","seeds","namesBySchemaUid","CHANGES_UIDS_PER_REQUEST","getAttestationChangesSince","changedSince","since","filters","pushChunks","unique","field","refUIDs","ids","responses","filter","byId","change","changes","getSeedUidsBySchemaName","isPlaceholderUid","value","isValidEasAttestationUid","hex","normalizeBytes32Hex","raw","DOMAIN_OWNERSHIP_SCHEMA_DEF","DOMAIN_OWNERSHIP_SCHEMA_NAME","DOMAIN_OWNERSHIP_METHOD","DOMAIN_OWNERSHIP_SCOPE_REGISTRABLE","DOMAIN_OWNERSHIP_SCOPE_HOSTNAME","DOMAIN_OWNERSHIP_TXT_LABEL","DOMAIN_OWNERSHIP_CHALLENGE_TTL_MS","DOMAIN_OWNERSHIP_SOFT_STALE_MS","DOMAIN_OWNERSHIP_DEFAULT_EXPIRATION_SECS","utf8Bytes","s","normalizeDomain","domain","normalizeClaimer","trimmed","claimer","domainOwnershipTxtName","buildDomainOwnershipTxtValue","params","parseDomainOwnershipTxtValue","parts","segment","idx","val","token","expiry","hashDomainOwnershipChallenge","scope","hashDomainRegistryFingerprint","payload","input","asBytes32$2","asString$2","asUint64$1","decodeDomainOwnershipData","fields","byName","f","isoToUnixSeconds","iso","ms","assessDomainOwnership","nowSec","warnings","softStaleMs","easExp","registryExp","nowMs","verifiedAtMs","normalizeDomainFilter","getDomainOwnershipFromEas","toolAddresses","attesterAddresses","claimers","domains","c","domainOwnerships","want","decoded","row","PUBLISH_AUTHORIZATION_SCHEMA_DEF","PUBLISH_AUTHORIZATION_SCHEMA_NAME","PUBLISH_AUTHORIZATION_SCOPES","PUBLISH_AUTHORIZATION_DEFAULT_EXPIRATION_SECS","normalizeAddress","asBytes32$1","asString$1","asUint64","decodePublishAuthorizationData","assessPublishAuthorization","expectedScopes","grantExp","hashPublishAuthorizationMaterial","material","getPublishAuthorizationFromEas","identities","sessionKeys","apps","easName","name","NAME_MATCH_LEVELS","isNameMatchLevel","TIER_RANK","DEFAULT_NAME_MATCH_LEVEL","normalizedNameKey","fuzzyNameKey","nameMatchTier","localName","isNameMatchAllowed","tier","level","compareNameMatchTiers","b","matchEasName","best","values","candidate","candidates","localNamesInBestMatchTier","levelOf","localNames","easNameVariants","legacy","easNamesToFetch","variant","INTEGER","HEX","isNumericEasType","easType","fromHex","match","decodeEasNumber","PUBLISHED_BY_SCHEMA_DEF","PUBLISHED_BY_SCHEMA_NAME","hexToBytes","body","out","hashPublishedByBatch","sorted","u","packed","verifyPublishedByBatch","asBytes32","asString","decodePublishedByData","rawUids","attestationUids","getPublishedByFromEas","ensureEasPlatform","schemaUidForSchemaDefinition","schemaUidForModel","SCHEMA_LOOKUP_MISS_TTL_MS","schemaUidForExactDefinition","lookupMissExpiresAt","lookupsInFlight","missGeneration","currentEndpoint","scopeToEndpoint","cachedSchemaLookup","scopedKey","missExpiresAt","inFlight","generation","request","lookup","clearSchemaLookupMisses","forgetMisses","prefix","matches","answers","forgotInFlight","definitionAnswers","snake","definition","resetSchemaUidCaches","setSchemaUidForSchemaDefinition","text","setSchemaUidForModel","modelName","modelKey","getSchemaUidForModelFromCache","getSchemaUidForSchemaDefinitionFromCache","getEasSchemaUidForSchemaDefinition","textSnakeCase","schemaText","getEasSchemaUidForExactDefinition","schemaDefinition","queryResult"],"sources":["../src/keccak.ts","../src/utils.ts","../src/easPropertyCanonical.ts","../src/easRefAttester.ts","../src/easRevokedFilter.ts","../src/constants.ts","../src/graphql/gql/graphql.ts","../src/graphql/gql/gql.ts","../src/queries.ts","../src/api.ts","../src/easUid.ts","../src/domainOwnershipHelpers.ts","../src/domainOwnership.ts","../src/publishAuthorizationHelpers.ts","../src/publishAuthorization.ts","../src/easNames.ts","../src/easValues.ts","../src/publishedByHelpers.ts","../src/publishedBy.ts","../src/default/index.ts","../src/stores/schemaUidCache.ts"],"sourcesContent":["import { keccak_256 } from '@noble/hashes/sha3'\nimport { bytesToHex, utf8ToBytes } from '@noble/hashes/utils'\n\n/** keccak-256 hex (no 0x), matching js-sha3 `keccak256`. */\nexport function keccak256Hex(data: string | Uint8Array): string {\n const bytes = typeof data === 'string' ? utf8ToBytes(data) : data\n return bytesToHex(keccak_256(bytes))\n}\n","import { keccak256Hex } from './keccak.js'\n\nexport const toSnakeCase = (str: string): string =>\n str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase()\n\n/** EIP-55 checksum for a 20-byte hex address (with or without 0x prefix). */\nexport function checksumAddress(address: string): string {\n const addr = address.toLowerCase().replace(/^0x/, '')\n if (addr.length !== 40 || !/^[0-9a-f]+$/.test(addr)) {\n return address\n }\n const hash = keccak256Hex(addr)\n let result = '0x'\n for (let i = 0; i < 40; i++) {\n result += parseInt(hash[i]!, 16) >= 8 ? addr[i]!.toUpperCase() : addr[i]!\n }\n return result\n}\n","/**\n * When multiple property attestations exist for the same Version (refUID) and schema\n * (e.g. after a same-Version patch publish), the canonical value is the **newest**\n * non-revoked attestation: greatest `timeCreated` per `(refUID, schemaId)`.\n * Revoked attestations are ignored, even when they are newer. On equal `timeCreated`\n * the first one in input order wins; a missing `timeCreated` counts as 0.\n *\n * Use this after `getItemPropertiesFromEas` (or any flat list) before displaying\n * values or writing to DB so duplicate schemas resolve to one row.\n */\nexport type AttestationLikeForCanonical = {\n schemaId?: string | null\n timeCreated?: number | null\n refUID?: string | null\n revoked?: boolean | null\n}\n\nexport type PickLatestPropertyAttestationsOptions = {\n /**\n * What to return for a `(refUID, schemaId)` whose attestations are **all** revoked.\n * - `'omit'` (default): nothing; the property has no canonical attestation.\n * - `'newestRevoked'`: the newest revoked attestation. Sync uses this so a fully\n * revoked (unpublished) item keeps its last values locally, alongside the seed row\n * that records `revokedAt`.\n */\n ifAllRevoked?: 'omit' | 'newestRevoked'\n}\n\nconst pickNewestPerKey = <T extends AttestationLikeForCanonical>(\n attestations: T[],\n): Map<string, T> => {\n const byKey = new Map<string, T>()\n for (const att of attestations) {\n const sid = att.schemaId\n if (!sid) continue\n const key = `${att.refUID ?? ''}:${sid}`\n const existing = byKey.get(key)\n const t = att.timeCreated ?? 0\n const t0 = existing?.timeCreated ?? 0\n if (!existing || t > t0) {\n byKey.set(key, att)\n }\n }\n return byKey\n}\n\nexport function pickLatestPropertyAttestationsByRefAndSchema<\n T extends AttestationLikeForCanonical,\n>(attestations: T[], options?: PickLatestPropertyAttestationsOptions): T[] {\n const live = pickNewestPerKey(attestations.filter((att) => !att.revoked))\n if (options?.ifAllRevoked !== 'newestRevoked') {\n return [...live.values()]\n }\n const revoked = pickNewestPerKey(attestations.filter((att) => att.revoked))\n for (const [key, att] of revoked) {\n if (!live.has(key)) live.set(key, att)\n }\n return [...live.values()]\n}\n","/**\n * EAS lets any account attest with any `refUID`: it only checks that the referenced attestation\n * exists, and Seed's schemas have no resolver. So another account can attest a Version that\n * references someone's Seed, or a property that references someone's Version, and as the newest\n * attestation it would win the canonical pick.\n *\n * A Version counts only when its attester is the Seed's attester, and a property only when its\n * attester is the Version's. Attesters are compared case-insensitively. A child whose parent isn't\n * among `parents`, or where either attester is unknown (local drafts have none), is kept: there is\n * nothing to compare it with.\n */\nexport type RefAttesterParentLike = {\n id: string\n attester?: string | null\n}\n\nexport type RefAttesterChildLike = {\n refUID?: string | null\n attester?: string | null\n}\n\nexport function partitionByRefAttester<T extends RefAttesterChildLike>(\n children: T[],\n parents: Iterable<RefAttesterParentLike>,\n): { kept: T[]; foreign: T[] } {\n const attesterByUid = new Map<string, string>()\n for (const parent of parents) {\n if (parent.attester) attesterByUid.set(parent.id, parent.attester.toLowerCase())\n }\n\n const kept: T[] = []\n const foreign: T[] = []\n for (const child of children) {\n const parentAttester = child.refUID ? attesterByUid.get(child.refUID) : undefined\n if (parentAttester && child.attester && child.attester.toLowerCase() !== parentAttester) {\n foreign.push(child)\n } else {\n kept.push(child)\n }\n }\n return { kept, foreign }\n}\n\n/** The `kept` half of {@link partitionByRefAttester}. */\nexport function keepAttestationsFromRefAttester<T extends RefAttesterChildLike>(\n children: T[],\n parents: Iterable<RefAttesterParentLike>,\n): T[] {\n return partitionByRefAttester(children, parents).kept\n}\n","/**\n * Merges `revoked: { equals: false }` into an EAS AttestationWhereInput\n * so revoked attestations are excluded from discovery/feed queries.\n *\n * Uses AND to combine with existing conditions without overwriting them.\n */\nexport function withExcludeRevokedFilter<T extends Record<string, unknown>>(\n where: T,\n): T & { AND?: unknown[] } {\n const revokedFilter = { revoked: { equals: false } }\n const existingAnd = Array.isArray(where.AND) ? where.AND : []\n return {\n ...where,\n AND: [...existingAnd, revokedFilter],\n } as T & { AND: unknown[] }\n}\n","export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'\nexport const ZERO_BYTES = '0x'\nexport const ZERO_BYTES32 =\n '0x0000000000000000000000000000000000000000000000000000000000000000'\n\n/**\n * @deprecated Evaluated once at import and ignores SDK / publish chain config. Use `getEasEndpoint()`.\n */\nexport const EAS_ENDPOINT =\n (typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_EAS_ENDPOINT) ||\n (typeof process !== 'undefined' && process.env?.EAS_ENDPOINT) ||\n 'https://optimism-sepolia.easscan.org/graphql'\n\n/** Schema definition of the Version attestation (zero resolver, revocable). */\nexport const VERSION_SCHEMA_DEF = 'bytes32 version'\n\n/**\n * UID of {@link VERSION_SCHEMA_DEF}. Schema UIDs hash the definition, resolver and revocable flag,\n * so this is the same on every chain; the schema must still be registered on each one.\n */\nexport const VERSION_SCHEMA_UID =\n '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6'\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = T | null | undefined;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n};\n\nexport type AffectedRowsOutput = {\n __typename?: 'AffectedRowsOutput';\n count: Scalars['Int']['output'];\n};\n\nexport type AggregateAttestation = {\n __typename?: 'AggregateAttestation';\n _avg?: Maybe<AttestationAvgAggregate>;\n _count?: Maybe<AttestationCountAggregate>;\n _max?: Maybe<AttestationMaxAggregate>;\n _min?: Maybe<AttestationMinAggregate>;\n _sum?: Maybe<AttestationSumAggregate>;\n};\n\nexport type AggregateEnsName = {\n __typename?: 'AggregateEnsName';\n _avg?: Maybe<EnsNameAvgAggregate>;\n _count?: Maybe<EnsNameCountAggregate>;\n _max?: Maybe<EnsNameMaxAggregate>;\n _min?: Maybe<EnsNameMinAggregate>;\n _sum?: Maybe<EnsNameSumAggregate>;\n};\n\nexport type AggregateOffchainRevocation = {\n __typename?: 'AggregateOffchainRevocation';\n _avg?: Maybe<OffchainRevocationAvgAggregate>;\n _count?: Maybe<OffchainRevocationCountAggregate>;\n _max?: Maybe<OffchainRevocationMaxAggregate>;\n _min?: Maybe<OffchainRevocationMinAggregate>;\n _sum?: Maybe<OffchainRevocationSumAggregate>;\n};\n\nexport type AggregateSchema = {\n __typename?: 'AggregateSchema';\n _avg?: Maybe<SchemaAvgAggregate>;\n _count?: Maybe<SchemaCountAggregate>;\n _max?: Maybe<SchemaMaxAggregate>;\n _min?: Maybe<SchemaMinAggregate>;\n _sum?: Maybe<SchemaSumAggregate>;\n};\n\nexport type AggregateSchemaName = {\n __typename?: 'AggregateSchemaName';\n _avg?: Maybe<SchemaNameAvgAggregate>;\n _count?: Maybe<SchemaNameCountAggregate>;\n _max?: Maybe<SchemaNameMaxAggregate>;\n _min?: Maybe<SchemaNameMinAggregate>;\n _sum?: Maybe<SchemaNameSumAggregate>;\n};\n\nexport type AggregateServiceStat = {\n __typename?: 'AggregateServiceStat';\n _count?: Maybe<ServiceStatCountAggregate>;\n _max?: Maybe<ServiceStatMaxAggregate>;\n _min?: Maybe<ServiceStatMinAggregate>;\n};\n\nexport type AggregateTimestamp = {\n __typename?: 'AggregateTimestamp';\n _avg?: Maybe<TimestampAvgAggregate>;\n _count?: Maybe<TimestampCountAggregate>;\n _max?: Maybe<TimestampMaxAggregate>;\n _min?: Maybe<TimestampMinAggregate>;\n _sum?: Maybe<TimestampSumAggregate>;\n};\n\nexport type Attestation = {\n __typename?: 'Attestation';\n attester: Scalars['String']['output'];\n data: Scalars['String']['output'];\n decodedDataJson: Scalars['String']['output'];\n expirationTime: Scalars['Int']['output'];\n id: Scalars['String']['output'];\n ipfsHash: Scalars['String']['output'];\n isOffchain: Scalars['Boolean']['output'];\n recipient: Scalars['String']['output'];\n refUID: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n revocationTime: Scalars['Int']['output'];\n revoked: Scalars['Boolean']['output'];\n schema: Schema;\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n timeCreated: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type AttestationAvgAggregate = {\n __typename?: 'AttestationAvgAggregate';\n expirationTime?: Maybe<Scalars['Float']['output']>;\n revocationTime?: Maybe<Scalars['Float']['output']>;\n time?: Maybe<Scalars['Float']['output']>;\n timeCreated?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type AttestationAvgOrderByAggregateInput = {\n expirationTime?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationCountAggregate = {\n __typename?: 'AttestationCountAggregate';\n _all: Scalars['Int']['output'];\n attester: Scalars['Int']['output'];\n data: Scalars['Int']['output'];\n decodedDataJson: Scalars['Int']['output'];\n expirationTime: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n ipfsHash: Scalars['Int']['output'];\n isOffchain: Scalars['Int']['output'];\n recipient: Scalars['Int']['output'];\n refUID: Scalars['Int']['output'];\n revocable: Scalars['Int']['output'];\n revocationTime: Scalars['Int']['output'];\n revoked: Scalars['Int']['output'];\n schemaId: Scalars['Int']['output'];\n time: Scalars['Int']['output'];\n timeCreated: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n};\n\nexport type AttestationCountOrderByAggregateInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationCreateInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n schema: SchemaCreateNestedOneWithoutAttestationsInput;\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationCreateManyInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n schemaId: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationCreateManySchemaInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationCreateManySchemaInputEnvelope = {\n data: Array<AttestationCreateManySchemaInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type AttestationCreateNestedManyWithoutSchemaInput = {\n connect?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<AttestationCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<AttestationCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<AttestationCreateManySchemaInputEnvelope>;\n};\n\nexport type AttestationCreateOrConnectWithoutSchemaInput = {\n create: AttestationCreateWithoutSchemaInput;\n where: AttestationWhereUniqueInput;\n};\n\nexport type AttestationCreateWithoutSchemaInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationGroupBy = {\n __typename?: 'AttestationGroupBy';\n _avg?: Maybe<AttestationAvgAggregate>;\n _count?: Maybe<AttestationCountAggregate>;\n _max?: Maybe<AttestationMaxAggregate>;\n _min?: Maybe<AttestationMinAggregate>;\n _sum?: Maybe<AttestationSumAggregate>;\n attester: Scalars['String']['output'];\n data: Scalars['String']['output'];\n decodedDataJson: Scalars['String']['output'];\n expirationTime: Scalars['Int']['output'];\n id: Scalars['String']['output'];\n ipfsHash: Scalars['String']['output'];\n isOffchain: Scalars['Boolean']['output'];\n recipient: Scalars['String']['output'];\n refUID: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n revocationTime: Scalars['Int']['output'];\n revoked: Scalars['Boolean']['output'];\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n timeCreated: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type AttestationListRelationFilter = {\n every?: InputMaybe<AttestationWhereInput>;\n none?: InputMaybe<AttestationWhereInput>;\n some?: InputMaybe<AttestationWhereInput>;\n};\n\nexport type AttestationMaxAggregate = {\n __typename?: 'AttestationMaxAggregate';\n attester?: Maybe<Scalars['String']['output']>;\n data?: Maybe<Scalars['String']['output']>;\n decodedDataJson?: Maybe<Scalars['String']['output']>;\n expirationTime?: Maybe<Scalars['Int']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n ipfsHash?: Maybe<Scalars['String']['output']>;\n isOffchain?: Maybe<Scalars['Boolean']['output']>;\n recipient?: Maybe<Scalars['String']['output']>;\n refUID?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n revocationTime?: Maybe<Scalars['Int']['output']>;\n revoked?: Maybe<Scalars['Boolean']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n timeCreated?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AttestationMaxOrderByAggregateInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationMinAggregate = {\n __typename?: 'AttestationMinAggregate';\n attester?: Maybe<Scalars['String']['output']>;\n data?: Maybe<Scalars['String']['output']>;\n decodedDataJson?: Maybe<Scalars['String']['output']>;\n expirationTime?: Maybe<Scalars['Int']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n ipfsHash?: Maybe<Scalars['String']['output']>;\n isOffchain?: Maybe<Scalars['Boolean']['output']>;\n recipient?: Maybe<Scalars['String']['output']>;\n refUID?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n revocationTime?: Maybe<Scalars['Int']['output']>;\n revoked?: Maybe<Scalars['Boolean']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n timeCreated?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AttestationMinOrderByAggregateInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationOrderByRelationAggregateInput = {\n _count?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationOrderByWithAggregationInput = {\n _avg?: InputMaybe<AttestationAvgOrderByAggregateInput>;\n _count?: InputMaybe<AttestationCountOrderByAggregateInput>;\n _max?: InputMaybe<AttestationMaxOrderByAggregateInput>;\n _min?: InputMaybe<AttestationMinOrderByAggregateInput>;\n _sum?: InputMaybe<AttestationSumOrderByAggregateInput>;\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationOrderByWithRelationInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SchemaOrderByWithRelationInput>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport enum AttestationScalarFieldEnum {\n Attester = 'attester',\n Data = 'data',\n DecodedDataJson = 'decodedDataJson',\n ExpirationTime = 'expirationTime',\n Id = 'id',\n IpfsHash = 'ipfsHash',\n IsOffchain = 'isOffchain',\n Recipient = 'recipient',\n RefUid = 'refUID',\n Revocable = 'revocable',\n RevocationTime = 'revocationTime',\n Revoked = 'revoked',\n SchemaId = 'schemaId',\n Time = 'time',\n TimeCreated = 'timeCreated',\n Txid = 'txid'\n}\n\nexport type AttestationScalarWhereInput = {\n AND?: InputMaybe<Array<AttestationScalarWhereInput>>;\n NOT?: InputMaybe<Array<AttestationScalarWhereInput>>;\n OR?: InputMaybe<Array<AttestationScalarWhereInput>>;\n attester?: InputMaybe<StringFilter>;\n data?: InputMaybe<StringFilter>;\n decodedDataJson?: InputMaybe<StringFilter>;\n expirationTime?: InputMaybe<IntFilter>;\n id?: InputMaybe<StringFilter>;\n ipfsHash?: InputMaybe<StringFilter>;\n isOffchain?: InputMaybe<BoolFilter>;\n recipient?: InputMaybe<StringFilter>;\n refUID?: InputMaybe<StringFilter>;\n revocable?: InputMaybe<BoolFilter>;\n revocationTime?: InputMaybe<IntFilter>;\n revoked?: InputMaybe<BoolFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n timeCreated?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type AttestationScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<AttestationScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<AttestationScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<AttestationScalarWhereWithAggregatesInput>>;\n attester?: InputMaybe<StringWithAggregatesFilter>;\n data?: InputMaybe<StringWithAggregatesFilter>;\n decodedDataJson?: InputMaybe<StringWithAggregatesFilter>;\n expirationTime?: InputMaybe<IntWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n ipfsHash?: InputMaybe<StringWithAggregatesFilter>;\n isOffchain?: InputMaybe<BoolWithAggregatesFilter>;\n recipient?: InputMaybe<StringWithAggregatesFilter>;\n refUID?: InputMaybe<StringWithAggregatesFilter>;\n revocable?: InputMaybe<BoolWithAggregatesFilter>;\n revocationTime?: InputMaybe<IntWithAggregatesFilter>;\n revoked?: InputMaybe<BoolWithAggregatesFilter>;\n schemaId?: InputMaybe<StringWithAggregatesFilter>;\n time?: InputMaybe<IntWithAggregatesFilter>;\n timeCreated?: InputMaybe<IntWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type AttestationSumAggregate = {\n __typename?: 'AttestationSumAggregate';\n expirationTime?: Maybe<Scalars['Int']['output']>;\n revocationTime?: Maybe<Scalars['Int']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n timeCreated?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type AttestationSumOrderByAggregateInput = {\n expirationTime?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationUpdateInput = {\n attester?: InputMaybe<StringFieldUpdateOperationsInput>;\n data?: InputMaybe<StringFieldUpdateOperationsInput>;\n decodedDataJson?: InputMaybe<StringFieldUpdateOperationsInput>;\n expirationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n ipfsHash?: InputMaybe<StringFieldUpdateOperationsInput>;\n isOffchain?: InputMaybe<BoolFieldUpdateOperationsInput>;\n recipient?: InputMaybe<StringFieldUpdateOperationsInput>;\n refUID?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n revocationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n revoked?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<SchemaUpdateOneRequiredWithoutAttestationsNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n timeCreated?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type AttestationUpdateManyMutationInput = {\n attester?: InputMaybe<StringFieldUpdateOperationsInput>;\n data?: InputMaybe<StringFieldUpdateOperationsInput>;\n decodedDataJson?: InputMaybe<StringFieldUpdateOperationsInput>;\n expirationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n ipfsHash?: InputMaybe<StringFieldUpdateOperationsInput>;\n isOffchain?: InputMaybe<BoolFieldUpdateOperationsInput>;\n recipient?: InputMaybe<StringFieldUpdateOperationsInput>;\n refUID?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n revocationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n revoked?: InputMaybe<BoolFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n timeCreated?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type AttestationUpdateManyWithWhereWithoutSchemaInput = {\n data: AttestationUpdateManyMutationInput;\n where: AttestationScalarWhereInput;\n};\n\nexport type AttestationUpdateManyWithoutSchemaNestedInput = {\n connect?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<AttestationCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<AttestationCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<AttestationCreateManySchemaInputEnvelope>;\n delete?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n deleteMany?: InputMaybe<Array<AttestationScalarWhereInput>>;\n disconnect?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n set?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n update?: InputMaybe<Array<AttestationUpdateWithWhereUniqueWithoutSchemaInput>>;\n updateMany?: InputMaybe<Array<AttestationUpdateManyWithWhereWithoutSchemaInput>>;\n upsert?: InputMaybe<Array<AttestationUpsertWithWhereUniqueWithoutSchemaInput>>;\n};\n\nexport type AttestationUpdateWithWhereUniqueWithoutSchemaInput = {\n data: AttestationUpdateWithoutSchemaInput;\n where: AttestationWhereUniqueInput;\n};\n\nexport type AttestationUpdateWithoutSchemaInput = {\n attester?: InputMaybe<StringFieldUpdateOperationsInput>;\n data?: InputMaybe<StringFieldUpdateOperationsInput>;\n decodedDataJson?: InputMaybe<StringFieldUpdateOperationsInput>;\n expirationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n ipfsHash?: InputMaybe<StringFieldUpdateOperationsInput>;\n isOffchain?: InputMaybe<BoolFieldUpdateOperationsInput>;\n recipient?: InputMaybe<StringFieldUpdateOperationsInput>;\n refUID?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n revocationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n revoked?: InputMaybe<BoolFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n timeCreated?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type AttestationUpsertWithWhereUniqueWithoutSchemaInput = {\n create: AttestationCreateWithoutSchemaInput;\n update: AttestationUpdateWithoutSchemaInput;\n where: AttestationWhereUniqueInput;\n};\n\nexport type AttestationWhereInput = {\n AND?: InputMaybe<Array<AttestationWhereInput>>;\n NOT?: InputMaybe<Array<AttestationWhereInput>>;\n OR?: InputMaybe<Array<AttestationWhereInput>>;\n attester?: InputMaybe<StringFilter>;\n data?: InputMaybe<StringFilter>;\n decodedDataJson?: InputMaybe<StringFilter>;\n expirationTime?: InputMaybe<IntFilter>;\n id?: InputMaybe<StringFilter>;\n ipfsHash?: InputMaybe<StringFilter>;\n isOffchain?: InputMaybe<BoolFilter>;\n recipient?: InputMaybe<StringFilter>;\n refUID?: InputMaybe<StringFilter>;\n revocable?: InputMaybe<BoolFilter>;\n revocationTime?: InputMaybe<IntFilter>;\n revoked?: InputMaybe<BoolFilter>;\n schema?: InputMaybe<SchemaRelationFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n timeCreated?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type AttestationWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type BoolFieldUpdateOperationsInput = {\n set?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type BoolFilter = {\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolFilter>;\n};\n\nexport type BoolWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedBoolFilter>;\n _min?: InputMaybe<NestedBoolFilter>;\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolWithAggregatesFilter>;\n};\n\nexport type EnsName = {\n __typename?: 'EnsName';\n id: Scalars['String']['output'];\n name: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n};\n\nexport type EnsNameAvgAggregate = {\n __typename?: 'EnsNameAvgAggregate';\n timestamp?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type EnsNameAvgOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameCountAggregate = {\n __typename?: 'EnsNameCountAggregate';\n _all: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n name: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n};\n\nexport type EnsNameCountOrderByAggregateInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameCreateInput = {\n id: Scalars['String']['input'];\n name: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n};\n\nexport type EnsNameCreateManyInput = {\n id: Scalars['String']['input'];\n name: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n};\n\nexport type EnsNameGroupBy = {\n __typename?: 'EnsNameGroupBy';\n _avg?: Maybe<EnsNameAvgAggregate>;\n _count?: Maybe<EnsNameCountAggregate>;\n _max?: Maybe<EnsNameMaxAggregate>;\n _min?: Maybe<EnsNameMinAggregate>;\n _sum?: Maybe<EnsNameSumAggregate>;\n id: Scalars['String']['output'];\n name: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n};\n\nexport type EnsNameMaxAggregate = {\n __typename?: 'EnsNameMaxAggregate';\n id?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EnsNameMaxOrderByAggregateInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameMinAggregate = {\n __typename?: 'EnsNameMinAggregate';\n id?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EnsNameMinOrderByAggregateInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameOrderByWithAggregationInput = {\n _avg?: InputMaybe<EnsNameAvgOrderByAggregateInput>;\n _count?: InputMaybe<EnsNameCountOrderByAggregateInput>;\n _max?: InputMaybe<EnsNameMaxOrderByAggregateInput>;\n _min?: InputMaybe<EnsNameMinOrderByAggregateInput>;\n _sum?: InputMaybe<EnsNameSumOrderByAggregateInput>;\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameOrderByWithRelationInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport enum EnsNameScalarFieldEnum {\n Id = 'id',\n Name = 'name',\n Timestamp = 'timestamp'\n}\n\nexport type EnsNameScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<EnsNameScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<EnsNameScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<EnsNameScalarWhereWithAggregatesInput>>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n name?: InputMaybe<StringWithAggregatesFilter>;\n timestamp?: InputMaybe<IntWithAggregatesFilter>;\n};\n\nexport type EnsNameSumAggregate = {\n __typename?: 'EnsNameSumAggregate';\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EnsNameSumOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameUpdateInput = {\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type EnsNameUpdateManyMutationInput = {\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type EnsNameWhereInput = {\n AND?: InputMaybe<Array<EnsNameWhereInput>>;\n NOT?: InputMaybe<Array<EnsNameWhereInput>>;\n OR?: InputMaybe<Array<EnsNameWhereInput>>;\n id?: InputMaybe<StringFilter>;\n name?: InputMaybe<StringFilter>;\n timestamp?: InputMaybe<IntFilter>;\n};\n\nexport type EnsNameWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type IntFieldUpdateOperationsInput = {\n decrement?: InputMaybe<Scalars['Int']['input']>;\n divide?: InputMaybe<Scalars['Int']['input']>;\n increment?: InputMaybe<Scalars['Int']['input']>;\n multiply?: InputMaybe<Scalars['Int']['input']>;\n set?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type IntFilter = {\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type IntWithAggregatesFilter = {\n _avg?: InputMaybe<NestedFloatFilter>;\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedIntFilter>;\n _min?: InputMaybe<NestedIntFilter>;\n _sum?: InputMaybe<NestedIntFilter>;\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n createManyAttestation: AffectedRowsOutput;\n createManyEnsName: AffectedRowsOutput;\n createManyOffchainRevocation: AffectedRowsOutput;\n createManySchema: AffectedRowsOutput;\n createManySchemaName: AffectedRowsOutput;\n createManyServiceStat: AffectedRowsOutput;\n createManyTimestamp: AffectedRowsOutput;\n createOneAttestation: Attestation;\n createOneEnsName: EnsName;\n createOneOffchainRevocation: OffchainRevocation;\n createOneSchema: Schema;\n createOneSchemaName: SchemaName;\n createOneServiceStat: ServiceStat;\n createOneTimestamp: Timestamp;\n deleteManyAttestation: AffectedRowsOutput;\n deleteManyEnsName: AffectedRowsOutput;\n deleteManyOffchainRevocation: AffectedRowsOutput;\n deleteManySchema: AffectedRowsOutput;\n deleteManySchemaName: AffectedRowsOutput;\n deleteManyServiceStat: AffectedRowsOutput;\n deleteManyTimestamp: AffectedRowsOutput;\n deleteOneAttestation?: Maybe<Attestation>;\n deleteOneEnsName?: Maybe<EnsName>;\n deleteOneOffchainRevocation?: Maybe<OffchainRevocation>;\n deleteOneSchema?: Maybe<Schema>;\n deleteOneSchemaName?: Maybe<SchemaName>;\n deleteOneServiceStat?: Maybe<ServiceStat>;\n deleteOneTimestamp?: Maybe<Timestamp>;\n updateManyAttestation: AffectedRowsOutput;\n updateManyEnsName: AffectedRowsOutput;\n updateManyOffchainRevocation: AffectedRowsOutput;\n updateManySchema: AffectedRowsOutput;\n updateManySchemaName: AffectedRowsOutput;\n updateManyServiceStat: AffectedRowsOutput;\n updateManyTimestamp: AffectedRowsOutput;\n updateOneAttestation?: Maybe<Attestation>;\n updateOneEnsName?: Maybe<EnsName>;\n updateOneOffchainRevocation?: Maybe<OffchainRevocation>;\n updateOneSchema?: Maybe<Schema>;\n updateOneSchemaName?: Maybe<SchemaName>;\n updateOneServiceStat?: Maybe<ServiceStat>;\n updateOneTimestamp?: Maybe<Timestamp>;\n upsertOneAttestation: Attestation;\n upsertOneEnsName: EnsName;\n upsertOneOffchainRevocation: OffchainRevocation;\n upsertOneSchema: Schema;\n upsertOneSchemaName: SchemaName;\n upsertOneServiceStat: ServiceStat;\n upsertOneTimestamp: Timestamp;\n};\n\n\nexport type MutationCreateManyAttestationArgs = {\n data: Array<AttestationCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyEnsNameArgs = {\n data: Array<EnsNameCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyOffchainRevocationArgs = {\n data: Array<OffchainRevocationCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManySchemaArgs = {\n data: Array<SchemaCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManySchemaNameArgs = {\n data: Array<SchemaNameCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyServiceStatArgs = {\n data: Array<ServiceStatCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyTimestampArgs = {\n data: Array<TimestampCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateOneAttestationArgs = {\n data: AttestationCreateInput;\n};\n\n\nexport type MutationCreateOneEnsNameArgs = {\n data: EnsNameCreateInput;\n};\n\n\nexport type MutationCreateOneOffchainRevocationArgs = {\n data: OffchainRevocationCreateInput;\n};\n\n\nexport type MutationCreateOneSchemaArgs = {\n data: SchemaCreateInput;\n};\n\n\nexport type MutationCreateOneSchemaNameArgs = {\n data: SchemaNameCreateInput;\n};\n\n\nexport type MutationCreateOneServiceStatArgs = {\n data: ServiceStatCreateInput;\n};\n\n\nexport type MutationCreateOneTimestampArgs = {\n data: TimestampCreateInput;\n};\n\n\nexport type MutationDeleteManyAttestationArgs = {\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type MutationDeleteManyEnsNameArgs = {\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type MutationDeleteManyOffchainRevocationArgs = {\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type MutationDeleteManySchemaArgs = {\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type MutationDeleteManySchemaNameArgs = {\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type MutationDeleteManyServiceStatArgs = {\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type MutationDeleteManyTimestampArgs = {\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type MutationDeleteOneAttestationArgs = {\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneEnsNameArgs = {\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneOffchainRevocationArgs = {\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneSchemaArgs = {\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneSchemaNameArgs = {\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneServiceStatArgs = {\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneTimestampArgs = {\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type MutationUpdateManyAttestationArgs = {\n data: AttestationUpdateManyMutationInput;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type MutationUpdateManyEnsNameArgs = {\n data: EnsNameUpdateManyMutationInput;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type MutationUpdateManyOffchainRevocationArgs = {\n data: OffchainRevocationUpdateManyMutationInput;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type MutationUpdateManySchemaArgs = {\n data: SchemaUpdateManyMutationInput;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type MutationUpdateManySchemaNameArgs = {\n data: SchemaNameUpdateManyMutationInput;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type MutationUpdateManyServiceStatArgs = {\n data: ServiceStatUpdateManyMutationInput;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type MutationUpdateManyTimestampArgs = {\n data: TimestampUpdateManyMutationInput;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type MutationUpdateOneAttestationArgs = {\n data: AttestationUpdateInput;\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneEnsNameArgs = {\n data: EnsNameUpdateInput;\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneOffchainRevocationArgs = {\n data: OffchainRevocationUpdateInput;\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneSchemaArgs = {\n data: SchemaUpdateInput;\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneSchemaNameArgs = {\n data: SchemaNameUpdateInput;\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneServiceStatArgs = {\n data: ServiceStatUpdateInput;\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneTimestampArgs = {\n data: TimestampUpdateInput;\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneAttestationArgs = {\n create: AttestationCreateInput;\n update: AttestationUpdateInput;\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneEnsNameArgs = {\n create: EnsNameCreateInput;\n update: EnsNameUpdateInput;\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneOffchainRevocationArgs = {\n create: OffchainRevocationCreateInput;\n update: OffchainRevocationUpdateInput;\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneSchemaArgs = {\n create: SchemaCreateInput;\n update: SchemaUpdateInput;\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneSchemaNameArgs = {\n create: SchemaNameCreateInput;\n update: SchemaNameUpdateInput;\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneServiceStatArgs = {\n create: ServiceStatCreateInput;\n update: ServiceStatUpdateInput;\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneTimestampArgs = {\n create: TimestampCreateInput;\n update: TimestampUpdateInput;\n where: TimestampWhereUniqueInput;\n};\n\nexport type NestedBoolFilter = {\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolFilter>;\n};\n\nexport type NestedBoolWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedBoolFilter>;\n _min?: InputMaybe<NestedBoolFilter>;\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolWithAggregatesFilter>;\n};\n\nexport type NestedFloatFilter = {\n equals?: InputMaybe<Scalars['Float']['input']>;\n gt?: InputMaybe<Scalars['Float']['input']>;\n gte?: InputMaybe<Scalars['Float']['input']>;\n in?: InputMaybe<Array<Scalars['Float']['input']>>;\n lt?: InputMaybe<Scalars['Float']['input']>;\n lte?: InputMaybe<Scalars['Float']['input']>;\n not?: InputMaybe<NestedFloatFilter>;\n notIn?: InputMaybe<Array<Scalars['Float']['input']>>;\n};\n\nexport type NestedIntFilter = {\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type NestedIntWithAggregatesFilter = {\n _avg?: InputMaybe<NestedFloatFilter>;\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedIntFilter>;\n _min?: InputMaybe<NestedIntFilter>;\n _sum?: InputMaybe<NestedIntFilter>;\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type NestedStringFilter = {\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n not?: InputMaybe<NestedStringFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type NestedStringWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedStringFilter>;\n _min?: InputMaybe<NestedStringFilter>;\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n not?: InputMaybe<NestedStringWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type OffchainRevocation = {\n __typename?: 'OffchainRevocation';\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n uid: Scalars['String']['output'];\n};\n\nexport type OffchainRevocationAvgAggregate = {\n __typename?: 'OffchainRevocationAvgAggregate';\n timestamp?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type OffchainRevocationAvgOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationCountAggregate = {\n __typename?: 'OffchainRevocationCountAggregate';\n _all: Scalars['Int']['output'];\n from: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n uid: Scalars['Int']['output'];\n};\n\nexport type OffchainRevocationCountOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationCreateInput = {\n from: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n timestamp: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n uid: Scalars['String']['input'];\n};\n\nexport type OffchainRevocationCreateManyInput = {\n from: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n timestamp: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n uid: Scalars['String']['input'];\n};\n\nexport type OffchainRevocationGroupBy = {\n __typename?: 'OffchainRevocationGroupBy';\n _avg?: Maybe<OffchainRevocationAvgAggregate>;\n _count?: Maybe<OffchainRevocationCountAggregate>;\n _max?: Maybe<OffchainRevocationMaxAggregate>;\n _min?: Maybe<OffchainRevocationMinAggregate>;\n _sum?: Maybe<OffchainRevocationSumAggregate>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n uid: Scalars['String']['output'];\n};\n\nexport type OffchainRevocationMaxAggregate = {\n __typename?: 'OffchainRevocationMaxAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n uid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type OffchainRevocationMaxOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationMinAggregate = {\n __typename?: 'OffchainRevocationMinAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n uid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type OffchainRevocationMinOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationOrderByWithAggregationInput = {\n _avg?: InputMaybe<OffchainRevocationAvgOrderByAggregateInput>;\n _count?: InputMaybe<OffchainRevocationCountOrderByAggregateInput>;\n _max?: InputMaybe<OffchainRevocationMaxOrderByAggregateInput>;\n _min?: InputMaybe<OffchainRevocationMinOrderByAggregateInput>;\n _sum?: InputMaybe<OffchainRevocationSumOrderByAggregateInput>;\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationOrderByWithRelationInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport enum OffchainRevocationScalarFieldEnum {\n From = 'from',\n Id = 'id',\n Timestamp = 'timestamp',\n Txid = 'txid',\n Uid = 'uid'\n}\n\nexport type OffchainRevocationScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<OffchainRevocationScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<OffchainRevocationScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<OffchainRevocationScalarWhereWithAggregatesInput>>;\n from?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n timestamp?: InputMaybe<IntWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n uid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type OffchainRevocationSumAggregate = {\n __typename?: 'OffchainRevocationSumAggregate';\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type OffchainRevocationSumOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationUpdateInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n uid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type OffchainRevocationUpdateManyMutationInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n uid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type OffchainRevocationWhereInput = {\n AND?: InputMaybe<Array<OffchainRevocationWhereInput>>;\n NOT?: InputMaybe<Array<OffchainRevocationWhereInput>>;\n OR?: InputMaybe<Array<OffchainRevocationWhereInput>>;\n from?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n timestamp?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n uid?: InputMaybe<StringFilter>;\n};\n\nexport type OffchainRevocationWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Query = {\n __typename?: 'Query';\n aggregateAttestation: AggregateAttestation;\n aggregateEnsName: AggregateEnsName;\n aggregateOffchainRevocation: AggregateOffchainRevocation;\n aggregateSchema: AggregateSchema;\n aggregateSchemaName: AggregateSchemaName;\n aggregateServiceStat: AggregateServiceStat;\n aggregateTimestamp: AggregateTimestamp;\n attestation?: Maybe<Attestation>;\n attestations: Array<Attestation>;\n ensName?: Maybe<EnsName>;\n ensNames: Array<EnsName>;\n findFirstAttestation?: Maybe<Attestation>;\n findFirstAttestationOrThrow?: Maybe<Attestation>;\n findFirstEnsName?: Maybe<EnsName>;\n findFirstEnsNameOrThrow?: Maybe<EnsName>;\n findFirstOffchainRevocation?: Maybe<OffchainRevocation>;\n findFirstOffchainRevocationOrThrow?: Maybe<OffchainRevocation>;\n findFirstSchema?: Maybe<Schema>;\n findFirstSchemaName?: Maybe<SchemaName>;\n findFirstSchemaNameOrThrow?: Maybe<SchemaName>;\n findFirstSchemaOrThrow?: Maybe<Schema>;\n findFirstServiceStat?: Maybe<ServiceStat>;\n findFirstServiceStatOrThrow?: Maybe<ServiceStat>;\n findFirstTimestamp?: Maybe<Timestamp>;\n findFirstTimestampOrThrow?: Maybe<Timestamp>;\n getAttestation?: Maybe<Attestation>;\n getEnsName?: Maybe<EnsName>;\n getOffchainRevocation?: Maybe<OffchainRevocation>;\n getSchema?: Maybe<Schema>;\n getSchemaName?: Maybe<SchemaName>;\n getServiceStat?: Maybe<ServiceStat>;\n getTimestamp?: Maybe<Timestamp>;\n groupByAttestation: Array<AttestationGroupBy>;\n groupByEnsName: Array<EnsNameGroupBy>;\n groupByOffchainRevocation: Array<OffchainRevocationGroupBy>;\n groupBySchema: Array<SchemaGroupBy>;\n groupBySchemaName: Array<SchemaNameGroupBy>;\n groupByServiceStat: Array<ServiceStatGroupBy>;\n groupByTimestamp: Array<TimestampGroupBy>;\n offchainRevocation?: Maybe<OffchainRevocation>;\n offchainRevocations: Array<OffchainRevocation>;\n schema?: Maybe<Schema>;\n schemaName?: Maybe<SchemaName>;\n schemaNames: Array<SchemaName>;\n schemata: Array<Schema>;\n serviceStat?: Maybe<ServiceStat>;\n serviceStats: Array<ServiceStat>;\n timestamp?: Maybe<Timestamp>;\n timestamps: Array<Timestamp>;\n};\n\n\nexport type QueryAggregateAttestationArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryAggregateEnsNameArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryAggregateOffchainRevocationArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryAggregateSchemaArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryAggregateSchemaNameArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryAggregateServiceStatArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryAggregateTimestampArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryAttestationArgs = {\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type QueryAttestationsArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryEnsNameArgs = {\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type QueryEnsNamesArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<EnsNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryFindFirstAttestationArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryFindFirstAttestationOrThrowArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryFindFirstEnsNameArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<EnsNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryFindFirstEnsNameOrThrowArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<EnsNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryFindFirstOffchainRevocationArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n distinct?: InputMaybe<Array<OffchainRevocationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryFindFirstOffchainRevocationOrThrowArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n distinct?: InputMaybe<Array<OffchainRevocationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaNameArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaNameOrThrowArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaOrThrowArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryFindFirstServiceStatArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n distinct?: InputMaybe<Array<ServiceStatScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryFindFirstServiceStatOrThrowArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n distinct?: InputMaybe<Array<ServiceStatScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryFindFirstTimestampArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n distinct?: InputMaybe<Array<TimestampScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryFindFirstTimestampOrThrowArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n distinct?: InputMaybe<Array<TimestampScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryGetAttestationArgs = {\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type QueryGetEnsNameArgs = {\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type QueryGetOffchainRevocationArgs = {\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type QueryGetSchemaArgs = {\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type QueryGetSchemaNameArgs = {\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type QueryGetServiceStatArgs = {\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type QueryGetTimestampArgs = {\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type QueryGroupByAttestationArgs = {\n by: Array<AttestationScalarFieldEnum>;\n having?: InputMaybe<AttestationScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryGroupByEnsNameArgs = {\n by: Array<EnsNameScalarFieldEnum>;\n having?: InputMaybe<EnsNameScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryGroupByOffchainRevocationArgs = {\n by: Array<OffchainRevocationScalarFieldEnum>;\n having?: InputMaybe<OffchainRevocationScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryGroupBySchemaArgs = {\n by: Array<SchemaScalarFieldEnum>;\n having?: InputMaybe<SchemaScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryGroupBySchemaNameArgs = {\n by: Array<SchemaNameScalarFieldEnum>;\n having?: InputMaybe<SchemaNameScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryGroupByServiceStatArgs = {\n by: Array<ServiceStatScalarFieldEnum>;\n having?: InputMaybe<ServiceStatScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryGroupByTimestampArgs = {\n by: Array<TimestampScalarFieldEnum>;\n having?: InputMaybe<TimestampScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryOffchainRevocationArgs = {\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type QueryOffchainRevocationsArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n distinct?: InputMaybe<Array<OffchainRevocationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QuerySchemaArgs = {\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type QuerySchemaNameArgs = {\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type QuerySchemaNamesArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QuerySchemataArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryServiceStatArgs = {\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type QueryServiceStatsArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n distinct?: InputMaybe<Array<ServiceStatScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryTimestampArgs = {\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type QueryTimestampsArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n distinct?: InputMaybe<Array<TimestampScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\nexport enum QueryMode {\n Default = 'default',\n Insensitive = 'insensitive'\n}\n\nexport type Schema = {\n __typename?: 'Schema';\n _count?: Maybe<SchemaCount>;\n attestations: Array<Attestation>;\n creator: Scalars['String']['output'];\n id: Scalars['String']['output'];\n index: Scalars['String']['output'];\n resolver: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n schema: Scalars['String']['output'];\n schemaNames: Array<SchemaName>;\n time: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\n\nexport type SchemaAttestationsArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type SchemaSchemaNamesArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\nexport type SchemaAvgAggregate = {\n __typename?: 'SchemaAvgAggregate';\n time?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type SchemaAvgOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaCount = {\n __typename?: 'SchemaCount';\n attestations: Scalars['Int']['output'];\n schemaNames: Scalars['Int']['output'];\n};\n\nexport type SchemaCountAggregate = {\n __typename?: 'SchemaCountAggregate';\n _all: Scalars['Int']['output'];\n creator: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n index: Scalars['Int']['output'];\n resolver: Scalars['Int']['output'];\n revocable: Scalars['Int']['output'];\n schema: Scalars['Int']['output'];\n time: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n};\n\nexport type SchemaCountOrderByAggregateInput = {\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaCreateInput = {\n attestations?: InputMaybe<AttestationCreateNestedManyWithoutSchemaInput>;\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n schemaNames?: InputMaybe<SchemaNameCreateNestedManyWithoutSchemaInput>;\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaCreateManyInput = {\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaCreateNestedOneWithoutAttestationsInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutAttestationsInput>;\n create?: InputMaybe<SchemaCreateWithoutAttestationsInput>;\n};\n\nexport type SchemaCreateNestedOneWithoutSchemaNamesInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutSchemaNamesInput>;\n create?: InputMaybe<SchemaCreateWithoutSchemaNamesInput>;\n};\n\nexport type SchemaCreateOrConnectWithoutAttestationsInput = {\n create: SchemaCreateWithoutAttestationsInput;\n where: SchemaWhereUniqueInput;\n};\n\nexport type SchemaCreateOrConnectWithoutSchemaNamesInput = {\n create: SchemaCreateWithoutSchemaNamesInput;\n where: SchemaWhereUniqueInput;\n};\n\nexport type SchemaCreateWithoutAttestationsInput = {\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n schemaNames?: InputMaybe<SchemaNameCreateNestedManyWithoutSchemaInput>;\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaCreateWithoutSchemaNamesInput = {\n attestations?: InputMaybe<AttestationCreateNestedManyWithoutSchemaInput>;\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaGroupBy = {\n __typename?: 'SchemaGroupBy';\n _avg?: Maybe<SchemaAvgAggregate>;\n _count?: Maybe<SchemaCountAggregate>;\n _max?: Maybe<SchemaMaxAggregate>;\n _min?: Maybe<SchemaMinAggregate>;\n _sum?: Maybe<SchemaSumAggregate>;\n creator: Scalars['String']['output'];\n id: Scalars['String']['output'];\n index: Scalars['String']['output'];\n resolver: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n schema: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type SchemaMaxAggregate = {\n __typename?: 'SchemaMaxAggregate';\n creator?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n index?: Maybe<Scalars['String']['output']>;\n resolver?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n schema?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SchemaMaxOrderByAggregateInput = {\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaMinAggregate = {\n __typename?: 'SchemaMinAggregate';\n creator?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n index?: Maybe<Scalars['String']['output']>;\n resolver?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n schema?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SchemaMinOrderByAggregateInput = {\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaName = {\n __typename?: 'SchemaName';\n attesterAddress: Scalars['String']['output'];\n id: Scalars['String']['output'];\n isCreator: Scalars['Boolean']['output'];\n name: Scalars['String']['output'];\n schema: Schema;\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n};\n\nexport type SchemaNameAvgAggregate = {\n __typename?: 'SchemaNameAvgAggregate';\n time?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type SchemaNameAvgOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameCountAggregate = {\n __typename?: 'SchemaNameCountAggregate';\n _all: Scalars['Int']['output'];\n attesterAddress: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n isCreator: Scalars['Int']['output'];\n name: Scalars['Int']['output'];\n schemaId: Scalars['Int']['output'];\n time: Scalars['Int']['output'];\n};\n\nexport type SchemaNameCountOrderByAggregateInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameCreateInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n schema: SchemaCreateNestedOneWithoutSchemaNamesInput;\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameCreateManyInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n schemaId: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameCreateManySchemaInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameCreateManySchemaInputEnvelope = {\n data: Array<SchemaNameCreateManySchemaInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type SchemaNameCreateNestedManyWithoutSchemaInput = {\n connect?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<SchemaNameCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<SchemaNameCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<SchemaNameCreateManySchemaInputEnvelope>;\n};\n\nexport type SchemaNameCreateOrConnectWithoutSchemaInput = {\n create: SchemaNameCreateWithoutSchemaInput;\n where: SchemaNameWhereUniqueInput;\n};\n\nexport type SchemaNameCreateWithoutSchemaInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameGroupBy = {\n __typename?: 'SchemaNameGroupBy';\n _avg?: Maybe<SchemaNameAvgAggregate>;\n _count?: Maybe<SchemaNameCountAggregate>;\n _max?: Maybe<SchemaNameMaxAggregate>;\n _min?: Maybe<SchemaNameMinAggregate>;\n _sum?: Maybe<SchemaNameSumAggregate>;\n attesterAddress: Scalars['String']['output'];\n id: Scalars['String']['output'];\n isCreator: Scalars['Boolean']['output'];\n name: Scalars['String']['output'];\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n};\n\nexport type SchemaNameListRelationFilter = {\n every?: InputMaybe<SchemaNameWhereInput>;\n none?: InputMaybe<SchemaNameWhereInput>;\n some?: InputMaybe<SchemaNameWhereInput>;\n};\n\nexport type SchemaNameMaxAggregate = {\n __typename?: 'SchemaNameMaxAggregate';\n attesterAddress?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n isCreator?: Maybe<Scalars['Boolean']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaNameMaxOrderByAggregateInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameMinAggregate = {\n __typename?: 'SchemaNameMinAggregate';\n attesterAddress?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n isCreator?: Maybe<Scalars['Boolean']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaNameMinOrderByAggregateInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameOrderByRelationAggregateInput = {\n _count?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameOrderByWithAggregationInput = {\n _avg?: InputMaybe<SchemaNameAvgOrderByAggregateInput>;\n _count?: InputMaybe<SchemaNameCountOrderByAggregateInput>;\n _max?: InputMaybe<SchemaNameMaxOrderByAggregateInput>;\n _min?: InputMaybe<SchemaNameMinOrderByAggregateInput>;\n _sum?: InputMaybe<SchemaNameSumOrderByAggregateInput>;\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameOrderByWithRelationInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SchemaOrderByWithRelationInput>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport enum SchemaNameScalarFieldEnum {\n AttesterAddress = 'attesterAddress',\n Id = 'id',\n IsCreator = 'isCreator',\n Name = 'name',\n SchemaId = 'schemaId',\n Time = 'time'\n}\n\nexport type SchemaNameScalarWhereInput = {\n AND?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n NOT?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n OR?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n attesterAddress?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n isCreator?: InputMaybe<BoolFilter>;\n name?: InputMaybe<StringFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n};\n\nexport type SchemaNameScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<SchemaNameScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<SchemaNameScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<SchemaNameScalarWhereWithAggregatesInput>>;\n attesterAddress?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n isCreator?: InputMaybe<BoolWithAggregatesFilter>;\n name?: InputMaybe<StringWithAggregatesFilter>;\n schemaId?: InputMaybe<StringWithAggregatesFilter>;\n time?: InputMaybe<IntWithAggregatesFilter>;\n};\n\nexport type SchemaNameSumAggregate = {\n __typename?: 'SchemaNameSumAggregate';\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaNameSumOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameUpdateInput = {\n attesterAddress?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n isCreator?: InputMaybe<BoolFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n schema?: InputMaybe<SchemaUpdateOneRequiredWithoutSchemaNamesNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type SchemaNameUpdateManyMutationInput = {\n attesterAddress?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n isCreator?: InputMaybe<BoolFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type SchemaNameUpdateManyWithWhereWithoutSchemaInput = {\n data: SchemaNameUpdateManyMutationInput;\n where: SchemaNameScalarWhereInput;\n};\n\nexport type SchemaNameUpdateManyWithoutSchemaNestedInput = {\n connect?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<SchemaNameCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<SchemaNameCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<SchemaNameCreateManySchemaInputEnvelope>;\n delete?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n deleteMany?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n disconnect?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n set?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n update?: InputMaybe<Array<SchemaNameUpdateWithWhereUniqueWithoutSchemaInput>>;\n updateMany?: InputMaybe<Array<SchemaNameUpdateManyWithWhereWithoutSchemaInput>>;\n upsert?: InputMaybe<Array<SchemaNameUpsertWithWhereUniqueWithoutSchemaInput>>;\n};\n\nexport type SchemaNameUpdateWithWhereUniqueWithoutSchemaInput = {\n data: SchemaNameUpdateWithoutSchemaInput;\n where: SchemaNameWhereUniqueInput;\n};\n\nexport type SchemaNameUpdateWithoutSchemaInput = {\n attesterAddress?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n isCreator?: InputMaybe<BoolFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type SchemaNameUpsertWithWhereUniqueWithoutSchemaInput = {\n create: SchemaNameCreateWithoutSchemaInput;\n update: SchemaNameUpdateWithoutSchemaInput;\n where: SchemaNameWhereUniqueInput;\n};\n\nexport type SchemaNameWhereInput = {\n AND?: InputMaybe<Array<SchemaNameWhereInput>>;\n NOT?: InputMaybe<Array<SchemaNameWhereInput>>;\n OR?: InputMaybe<Array<SchemaNameWhereInput>>;\n attesterAddress?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n isCreator?: InputMaybe<BoolFilter>;\n name?: InputMaybe<StringFilter>;\n schema?: InputMaybe<SchemaRelationFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n};\n\nexport type SchemaNameWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type SchemaOrderByWithAggregationInput = {\n _avg?: InputMaybe<SchemaAvgOrderByAggregateInput>;\n _count?: InputMaybe<SchemaCountOrderByAggregateInput>;\n _max?: InputMaybe<SchemaMaxOrderByAggregateInput>;\n _min?: InputMaybe<SchemaMinOrderByAggregateInput>;\n _sum?: InputMaybe<SchemaSumOrderByAggregateInput>;\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaOrderByWithRelationInput = {\n attestations?: InputMaybe<AttestationOrderByRelationAggregateInput>;\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n schemaNames?: InputMaybe<SchemaNameOrderByRelationAggregateInput>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaRelationFilter = {\n is?: InputMaybe<SchemaWhereInput>;\n isNot?: InputMaybe<SchemaWhereInput>;\n};\n\nexport enum SchemaScalarFieldEnum {\n Creator = 'creator',\n Id = 'id',\n Index = 'index',\n Resolver = 'resolver',\n Revocable = 'revocable',\n Schema = 'schema',\n Time = 'time',\n Txid = 'txid'\n}\n\nexport type SchemaScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<SchemaScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<SchemaScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<SchemaScalarWhereWithAggregatesInput>>;\n creator?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n index?: InputMaybe<StringWithAggregatesFilter>;\n resolver?: InputMaybe<StringWithAggregatesFilter>;\n revocable?: InputMaybe<BoolWithAggregatesFilter>;\n schema?: InputMaybe<StringWithAggregatesFilter>;\n time?: InputMaybe<IntWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type SchemaSumAggregate = {\n __typename?: 'SchemaSumAggregate';\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaSumOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaUpdateInput = {\n attestations?: InputMaybe<AttestationUpdateManyWithoutSchemaNestedInput>;\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n schemaNames?: InputMaybe<SchemaNameUpdateManyWithoutSchemaNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpdateManyMutationInput = {\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpdateOneRequiredWithoutAttestationsNestedInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutAttestationsInput>;\n create?: InputMaybe<SchemaCreateWithoutAttestationsInput>;\n update?: InputMaybe<SchemaUpdateWithoutAttestationsInput>;\n upsert?: InputMaybe<SchemaUpsertWithoutAttestationsInput>;\n};\n\nexport type SchemaUpdateOneRequiredWithoutSchemaNamesNestedInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutSchemaNamesInput>;\n create?: InputMaybe<SchemaCreateWithoutSchemaNamesInput>;\n update?: InputMaybe<SchemaUpdateWithoutSchemaNamesInput>;\n upsert?: InputMaybe<SchemaUpsertWithoutSchemaNamesInput>;\n};\n\nexport type SchemaUpdateWithoutAttestationsInput = {\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n schemaNames?: InputMaybe<SchemaNameUpdateManyWithoutSchemaNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpdateWithoutSchemaNamesInput = {\n attestations?: InputMaybe<AttestationUpdateManyWithoutSchemaNestedInput>;\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpsertWithoutAttestationsInput = {\n create: SchemaCreateWithoutAttestationsInput;\n update: SchemaUpdateWithoutAttestationsInput;\n};\n\nexport type SchemaUpsertWithoutSchemaNamesInput = {\n create: SchemaCreateWithoutSchemaNamesInput;\n update: SchemaUpdateWithoutSchemaNamesInput;\n};\n\nexport type SchemaWhereInput = {\n AND?: InputMaybe<Array<SchemaWhereInput>>;\n NOT?: InputMaybe<Array<SchemaWhereInput>>;\n OR?: InputMaybe<Array<SchemaWhereInput>>;\n attestations?: InputMaybe<AttestationListRelationFilter>;\n creator?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n index?: InputMaybe<StringFilter>;\n resolver?: InputMaybe<StringFilter>;\n revocable?: InputMaybe<BoolFilter>;\n schema?: InputMaybe<StringFilter>;\n schemaNames?: InputMaybe<SchemaNameListRelationFilter>;\n time?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type SchemaWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ServiceStat = {\n __typename?: 'ServiceStat';\n name: Scalars['String']['output'];\n value: Scalars['String']['output'];\n};\n\nexport type ServiceStatCountAggregate = {\n __typename?: 'ServiceStatCountAggregate';\n _all: Scalars['Int']['output'];\n name: Scalars['Int']['output'];\n value: Scalars['Int']['output'];\n};\n\nexport type ServiceStatCountOrderByAggregateInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatCreateInput = {\n name: Scalars['String']['input'];\n value: Scalars['String']['input'];\n};\n\nexport type ServiceStatCreateManyInput = {\n name: Scalars['String']['input'];\n value: Scalars['String']['input'];\n};\n\nexport type ServiceStatGroupBy = {\n __typename?: 'ServiceStatGroupBy';\n _count?: Maybe<ServiceStatCountAggregate>;\n _max?: Maybe<ServiceStatMaxAggregate>;\n _min?: Maybe<ServiceStatMinAggregate>;\n name: Scalars['String']['output'];\n value: Scalars['String']['output'];\n};\n\nexport type ServiceStatMaxAggregate = {\n __typename?: 'ServiceStatMaxAggregate';\n name?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ServiceStatMaxOrderByAggregateInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatMinAggregate = {\n __typename?: 'ServiceStatMinAggregate';\n name?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ServiceStatMinOrderByAggregateInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatOrderByWithAggregationInput = {\n _count?: InputMaybe<ServiceStatCountOrderByAggregateInput>;\n _max?: InputMaybe<ServiceStatMaxOrderByAggregateInput>;\n _min?: InputMaybe<ServiceStatMinOrderByAggregateInput>;\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatOrderByWithRelationInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport enum ServiceStatScalarFieldEnum {\n Name = 'name',\n Value = 'value'\n}\n\nexport type ServiceStatScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<ServiceStatScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<ServiceStatScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<ServiceStatScalarWhereWithAggregatesInput>>;\n name?: InputMaybe<StringWithAggregatesFilter>;\n value?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type ServiceStatUpdateInput = {\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n value?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type ServiceStatUpdateManyMutationInput = {\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n value?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type ServiceStatWhereInput = {\n AND?: InputMaybe<Array<ServiceStatWhereInput>>;\n NOT?: InputMaybe<Array<ServiceStatWhereInput>>;\n OR?: InputMaybe<Array<ServiceStatWhereInput>>;\n name?: InputMaybe<StringFilter>;\n value?: InputMaybe<StringFilter>;\n};\n\nexport type ServiceStatWhereUniqueInput = {\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum SortOrder {\n Asc = 'asc',\n Desc = 'desc'\n}\n\nexport type StringFieldUpdateOperationsInput = {\n set?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StringFilter = {\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n mode?: InputMaybe<QueryMode>;\n not?: InputMaybe<NestedStringFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StringWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedStringFilter>;\n _min?: InputMaybe<NestedStringFilter>;\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n mode?: InputMaybe<QueryMode>;\n not?: InputMaybe<NestedStringWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Timestamp = {\n __typename?: 'Timestamp';\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tree: Scalars['String']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type TimestampAvgAggregate = {\n __typename?: 'TimestampAvgAggregate';\n timestamp?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type TimestampAvgOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampCountAggregate = {\n __typename?: 'TimestampCountAggregate';\n _all: Scalars['Int']['output'];\n from: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n tree: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n};\n\nexport type TimestampCountOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampCreateInput = {\n from: Scalars['String']['input'];\n id: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n tree?: InputMaybe<Scalars['String']['input']>;\n txid: Scalars['String']['input'];\n};\n\nexport type TimestampCreateManyInput = {\n from: Scalars['String']['input'];\n id: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n tree?: InputMaybe<Scalars['String']['input']>;\n txid: Scalars['String']['input'];\n};\n\nexport type TimestampGroupBy = {\n __typename?: 'TimestampGroupBy';\n _avg?: Maybe<TimestampAvgAggregate>;\n _count?: Maybe<TimestampCountAggregate>;\n _max?: Maybe<TimestampMaxAggregate>;\n _min?: Maybe<TimestampMinAggregate>;\n _sum?: Maybe<TimestampSumAggregate>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tree: Scalars['String']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type TimestampMaxAggregate = {\n __typename?: 'TimestampMaxAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n tree?: Maybe<Scalars['String']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type TimestampMaxOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampMinAggregate = {\n __typename?: 'TimestampMinAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n tree?: Maybe<Scalars['String']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type TimestampMinOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampOrderByWithAggregationInput = {\n _avg?: InputMaybe<TimestampAvgOrderByAggregateInput>;\n _count?: InputMaybe<TimestampCountOrderByAggregateInput>;\n _max?: InputMaybe<TimestampMaxOrderByAggregateInput>;\n _min?: InputMaybe<TimestampMinOrderByAggregateInput>;\n _sum?: InputMaybe<TimestampSumOrderByAggregateInput>;\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampOrderByWithRelationInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport enum TimestampScalarFieldEnum {\n From = 'from',\n Id = 'id',\n Timestamp = 'timestamp',\n Tree = 'tree',\n Txid = 'txid'\n}\n\nexport type TimestampScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<TimestampScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<TimestampScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<TimestampScalarWhereWithAggregatesInput>>;\n from?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n timestamp?: InputMaybe<IntWithAggregatesFilter>;\n tree?: InputMaybe<StringWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type TimestampSumAggregate = {\n __typename?: 'TimestampSumAggregate';\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type TimestampSumOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampUpdateInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n tree?: InputMaybe<StringFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type TimestampUpdateManyMutationInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n tree?: InputMaybe<StringFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type TimestampWhereInput = {\n AND?: InputMaybe<Array<TimestampWhereInput>>;\n NOT?: InputMaybe<Array<TimestampWhereInput>>;\n OR?: InputMaybe<Array<TimestampWhereInput>>;\n from?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n timestamp?: InputMaybe<IntFilter>;\n tree?: InputMaybe<StringFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type TimestampWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AttestationFieldsFragment = { __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, revocationTime: number, schemaId: string, txid: string, timeCreated: number, time: number, isOffchain: boolean } & { ' $fragmentName'?: 'AttestationFieldsFragment' };\n\nexport type SchemaFieldsFragment = { __typename?: 'Schema', id: string, resolver: string, revocable: boolean, schema: string, index: string, time: number, txid: string, creator: string, schemaNames: Array<{ __typename?: 'SchemaName', name: string }> } & { ' $fragmentName'?: 'SchemaFieldsFragment' };\n\nexport type GetSchemasQueryVariables = Exact<{\n where: SchemaWhereInput;\n}>;\n\n\nexport type GetSchemasQuery = { __typename?: 'Query', schemas: Array<{ __typename?: 'Schema', id: string, schema: string, schemaNames: Array<{ __typename?: 'SchemaName', name: string }> }> };\n\nexport type GetSchemaByNameQueryVariables = Exact<{\n where: SchemaWhereInput;\n}>;\n\n\nexport type GetSchemaByNameQuery = { __typename?: 'Query', schemas: Array<{ __typename?: 'Schema', id: string, schema: string, schemaNames: Array<{ __typename?: 'SchemaName', name: string }> }> };\n\nexport type GetSeedsQueryVariables = Exact<{\n where: AttestationWhereInput;\n take?: InputMaybe<Scalars['Int']['input']>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n}>;\n\n\nexport type GetSeedsQuery = { __typename?: 'Query', itemSeeds: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, revocationTime: number, schemaId: string, timeCreated: number, isOffchain: boolean, schema: { __typename?: 'Schema', schemaNames: Array<{ __typename?: 'SchemaName', name: string }> } }> };\n\nexport type GetSeedsLeanQueryVariables = Exact<{\n where: AttestationWhereInput;\n take?: InputMaybe<Scalars['Int']['input']>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n}>;\n\n\nexport type GetSeedsLeanQuery = { __typename?: 'Query', itemSeeds: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, revocationTime: number, schemaId: string, timeCreated: number, isOffchain: boolean }> };\n\nexport type GetDomainOwnershipsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetDomainOwnershipsQuery = { __typename?: 'Query', domainOwnerships: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, recipient: string, refUID: string, revoked: boolean, revocationTime: number, expirationTime: number, schemaId: string, timeCreated: number }> };\n\nexport type GetSeedIdsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetSeedIdsQuery = { __typename?: 'Query', itemSeedIds: Array<{ __typename?: 'Attestation', id: string }> };\n\nexport type GetStorageTransactionIdQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetStorageTransactionIdQuery = { __typename?: 'Query', storageTransactionId: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string }> };\n\nexport type GetVersionsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetVersionsQuery = { __typename?: 'Query', itemVersions: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetPropertiesQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetPropertiesQuery = { __typename?: 'Query', itemProperties: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetAllPropertiesForAllVersionsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetAllPropertiesForAllVersionsQuery = { __typename?: 'Query', allProperties: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetFilesMetadataQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetFilesMetadataQuery = { __typename?: 'Query', filesMetadata: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetImageSeedsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetImageSeedsQuery = { __typename?: 'Query', imageSeeds: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, schemaId: string, txid: string, timeCreated: number, time: number, isOffchain: boolean, schema: { __typename?: 'Schema', schemaNames: Array<{ __typename?: 'SchemaName', name: string }> } }> };\n\nexport type GetImageVersionsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetImageVersionsQuery = { __typename?: 'Query', imageVersions: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetAttestationChangesQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetAttestationChangesQuery = { __typename?: 'Query', changes: Array<{ __typename?: 'Attestation', id: string, refUID: string, timeCreated: number, revocationTime: number }> };\n\nexport const AttestationFieldsFragmentDoc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<AttestationFieldsFragment, unknown>;\nexport const SchemaFieldsFragmentDoc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Schema\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resolver\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocable\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"index\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"creator\"}}]}}]} as unknown as DocumentNode<SchemaFieldsFragment, unknown>;\nexport const GetSchemasDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSchemas\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SchemaWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"schemas\"},\"name\":{\"kind\":\"Name\",\"value\":\"schemata\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]}}]} as unknown as DocumentNode<GetSchemasQuery, GetSchemasQueryVariables>;\nexport const GetSchemaByNameDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSchemaByName\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SchemaWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"schemas\"},\"name\":{\"kind\":\"Name\",\"value\":\"schemata\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]}}]} as unknown as DocumentNode<GetSchemaByNameQuery, GetSchemaByNameQueryVariables>;\nexport const GetSeedsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSeeds\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemSeeds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]}}]} as unknown as DocumentNode<GetSeedsQuery, GetSeedsQueryVariables>;\nexport const GetSeedsLeanDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSeedsLean\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemSeeds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]}}]} as unknown as DocumentNode<GetSeedsLeanQuery, GetSeedsLeanQueryVariables>;\nexport const GetDomainOwnershipsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetDomainOwnerships\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domainOwnerships\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recipient\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expirationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}}]}}]}}]} as unknown as DocumentNode<GetDomainOwnershipsQuery, GetDomainOwnershipsQueryVariables>;\nexport const GetSeedIdsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSeedIds\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemSeedIds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]} as unknown as DocumentNode<GetSeedIdsQuery, GetSeedIdsQueryVariables>;\nexport const GetStorageTransactionIdDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetStorageTransactionId\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"storageTransactionId\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}}]}}]}}]} as unknown as DocumentNode<GetStorageTransactionIdQuery, GetStorageTransactionIdQueryVariables>;\nexport const GetVersionsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemVersions\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetVersionsQuery, GetVersionsQueryVariables>;\nexport const GetPropertiesDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProperties\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemProperties\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetPropertiesQuery, GetPropertiesQueryVariables>;\nexport const GetAllPropertiesForAllVersionsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetAllPropertiesForAllVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"allProperties\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetAllPropertiesForAllVersionsQuery, GetAllPropertiesForAllVersionsQueryVariables>;\nexport const GetFilesMetadataDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetFilesMetadata\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"filesMetadata\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetFilesMetadataQuery, GetFilesMetadataQueryVariables>;\nexport const GetImageSeedsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetImageSeeds\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"imageSeeds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]}}]} as unknown as DocumentNode<GetImageSeedsQuery, GetImageSeedsQueryVariables>;\nexport const GetImageVersionsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetImageVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"imageVersions\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetImageVersionsQuery, GetImageVersionsQueryVariables>;\nexport const GetAttestationChangesDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetAttestationChanges\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"changes\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}}]}}]}}]} as unknown as DocumentNode<GetAttestationChangesQuery, GetAttestationChangesQueryVariables>;","/* eslint-disable */\nimport * as types from './graphql';\nimport type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size\n */\ntype Documents = {\n \"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\": typeof types.AttestationFieldsFragmentDoc,\n \"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\": typeof types.SchemaFieldsFragmentDoc,\n \"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": typeof types.GetSchemasDocument,\n \"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": typeof types.GetSchemaByNameDocument,\n \"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": typeof types.GetSeedsDocument,\n \"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": typeof types.GetSeedsLeanDocument,\n \"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\": typeof types.GetDomainOwnershipsDocument,\n \"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\": typeof types.GetSeedIdsDocument,\n \"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\": typeof types.GetStorageTransactionIdDocument,\n \"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetVersionsDocument,\n \"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetPropertiesDocument,\n \"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetAllPropertiesForAllVersionsDocument,\n \"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetFilesMetadataDocument,\n \"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\": typeof types.GetImageSeedsDocument,\n \"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetImageVersionsDocument,\n \"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\": typeof types.GetAttestationChangesDocument,\n};\nconst documents: Documents = {\n \"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\": types.AttestationFieldsFragmentDoc,\n \"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\": types.SchemaFieldsFragmentDoc,\n \"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": types.GetSchemasDocument,\n \"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": types.GetSchemaByNameDocument,\n \"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": types.GetSeedsDocument,\n \"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": types.GetSeedsLeanDocument,\n \"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\": types.GetDomainOwnershipsDocument,\n \"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\": types.GetSeedIdsDocument,\n \"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\": types.GetStorageTransactionIdDocument,\n \"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetVersionsDocument,\n \"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetPropertiesDocument,\n \"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetAllPropertiesForAllVersionsDocument,\n \"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetFilesMetadataDocument,\n \"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\": types.GetImageSeedsDocument,\n \"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetImageVersionsDocument,\n \"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\": types.GetAttestationChangesDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\"): (typeof documents)[\"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\"): (typeof documents)[\"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\"];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;","import { graphql } from './graphql/gql/index.js'\nimport type { TypedDocumentNode } from '@graphql-typed-document-node/core'\nimport type { Attestation, Schema as EASSchema } from './graphql/gql/graphql.js'\n\nexport const GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($where: SchemaWhereInput!) {\n schemas: schemata(where: $where) {\n id\n schema\n schemaNames {\n name\n }\n }\n }\n`)\n\nexport const GET_SCHEMA_BY_NAME = graphql(/* GraphQL */ `\n query GetSchemaByName($where: SchemaWhereInput!) {\n schemas: schemata(where: $where) {\n id\n schema\n schemaNames {\n name\n }\n }\n }\n`) as TypedDocumentNode<{ schemas: EASSchema[] }>\n\nexport const GET_SEEDS = graphql(/* GraphQL */ `\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\n id\n decodedDataJson\n attester\n schema {\n schemaNames {\n name\n }\n }\n refUID\n revoked\n revocationTime\n schemaId\n timeCreated\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ itemSeeds: Attestation[] }>\n\n/**\n * GET_SEEDS without `schema { schemaNames }`, which makes the request several times slower on\n * easscan. Callers that need seed schema names attach them from `schemaId`\n * (see getSchemaNamesBySchemaUids).\n */\nexport const GET_SEEDS_LEAN = graphql(/* GraphQL */ `\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\n id\n decodedDataJson\n attester\n refUID\n revoked\n revocationTime\n schemaId\n timeCreated\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ itemSeeds: Attestation[] }>\n\n/**\n * DomainOwnership sidecar attestations. Unlike GET_SEEDS it selects `expirationTime`, which\n * {@link assessDomainOwnership} needs to report an expired claim.\n */\nexport const GET_DOMAIN_OWNERSHIPS = graphql(/* GraphQL */ `\n query GetDomainOwnerships($where: AttestationWhereInput!) {\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n decodedDataJson\n attester\n recipient\n refUID\n revoked\n revocationTime\n expirationTime\n schemaId\n timeCreated\n }\n }\n`) as TypedDocumentNode<{ domainOwnerships: Attestation[] }>\n\nexport const GET_SEED_IDS = graphql(/* GraphQL */ `\n query GetSeedIds($where: AttestationWhereInput!) {\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n }\n }\n`) as TypedDocumentNode<{ itemSeedIds: Attestation[] }>\n\nexport const GET_STORAGE_TRANSACTION_ID = graphql(/* GraphQL */ `\n query GetStorageTransactionId($where: AttestationWhereInput!) {\n storageTransactionId: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n id\n decodedDataJson\n }\n }\n`) as TypedDocumentNode<{ storageTransactionId: Attestation[] }>\n\nexport const GET_VERSIONS = graphql(/* GraphQL */ `\n query GetVersions($where: AttestationWhereInput!) {\n itemVersions: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ itemVersions: Attestation[] }>\n\nexport const GET_PROPERTIES = graphql(/* GraphQL */ `\n query GetProperties($where: AttestationWhereInput!) {\n itemProperties: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ itemProperties: Attestation[] }>\n\nexport const GET_ALL_PROPERTIES_FOR_ALL_VERSIONS = graphql(/* GraphQL */ `\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\n allProperties: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ allProperties: Attestation[] }>\n\nexport const GET_FILES_METADATA = graphql(/* GraphQL */ `\n query GetFilesMetadata($where: AttestationWhereInput!) {\n filesMetadata: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ filesMetadata: Attestation[] }>\n\nexport const GET_IMAGE_SEEDS = graphql(/* GraphQL */ `\n query GetImageSeeds($where: AttestationWhereInput!) {\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n decodedDataJson\n attester\n schema {\n schemaNames {\n name\n }\n }\n refUID\n revoked\n schemaId\n txid\n timeCreated\n time\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ imageSeeds: Attestation[] }>\n\nexport const GET_IMAGE_VERSIONS = graphql(/* GraphQL */ `\n query GetImageVersions($where: AttestationWhereInput!) {\n imageVersions: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ imageVersions: Attestation[] }>\n\n/** Just enough of each attestation to tell what changed: see getAttestationChangesSince. */\nexport const GET_ATTESTATION_CHANGES = graphql(/* GraphQL */ `\n query GetAttestationChanges($where: AttestationWhereInput!) {\n changes: attestations(where: $where) {\n id\n refUID\n timeCreated\n revocationTime\n }\n }\n`) as TypedDocumentNode<{\n changes: Array<Pick<Attestation, 'id' | 'refUID' | 'timeCreated' | 'revocationTime'>>\n}>\n","import { checksumAddress } from './utils.js'\nimport { pickLatestPropertyAttestationsByRefAndSchema } from './easPropertyCanonical.js'\nimport { keepAttestationsFromRefAttester } from './easRefAttester.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { getEasEndpoint } from './easEndpoint.js'\nimport { VERSION_SCHEMA_UID } from './constants.js'\nimport {\n GET_PROPERTIES,\n GET_SCHEMAS,\n GET_SEEDS,\n GET_ATTESTATION_CHANGES,\n GET_SEEDS_LEAN,\n GET_VERSIONS,\n} from './queries.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type { Attestation, Schema as EASSchema } from './graphql/gql/graphql.js'\n\n/**\n * Version attestations of the given seeds, newest first. Filters on {@link VERSION_SCHEMA_UID}:\n * other attestations use seed uids as `refUID` too (PublishedBy sidecars, for one), and one from\n * the seed's own attester would otherwise be taken as its newest version.\n */\nexport const getItemVersionsFromEas = async ({\n seedUids,\n excludeRevoked = true,\n}: {\n seedUids: string[]\n excludeRevoked?: boolean\n}): Promise<Attestation[]> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const versionsOfSeeds = { refUID: { in: seedUids }, schemaId: { equals: VERSION_SCHEMA_UID } }\n const where = excludeRevoked ? withExcludeRevokedFilter(versionsOfSeeds) : versionsOfSeeds\n\n const { itemVersions } = (await queryClient.fetchQuery({\n queryKey: [`getVersionsForAllModels`, [...seedUids].sort(), excludeRevoked],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where,\n }),\n })) as { itemVersions: Attestation[] }\n\n return itemVersions\n}\n\nexport const getItemPropertiesFromEas = async ({\n versionUids,\n excludeRevoked = true,\n}: {\n versionUids: string[]\n excludeRevoked?: boolean\n}): Promise<Attestation[]> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const where = excludeRevoked\n ? withExcludeRevokedFilter({ refUID: { in: versionUids } })\n : { refUID: { in: versionUids } }\n\n const { itemProperties } = (await queryClient.fetchQuery({\n queryKey: [`getPropertiesForAllModels`, [...versionUids].sort(), excludeRevoked],\n queryFn: async () =>\n easClient.request(GET_PROPERTIES, {\n where,\n }),\n })) as { itemProperties: Attestation[] }\n\n return itemProperties\n}\n\n/**\n * Canonical properties of the given versions: the newest per version and property schema.\n *\n * By default only attestations from the right accounts count (easRefAttester.ts): a version must\n * be attested by its seed's attester, and a property by its version's. Anyone can attest with any\n * refUID, so without this another account's newer property would win. That costs two more\n * requests (the versions and their seeds); pass `checkAttesters: false` when the versions are\n * already known to be trusted.\n */\nexport const getCanonicalItemPropertiesFromEas = async ({\n versionUids,\n excludeRevoked,\n checkAttesters = true,\n}: {\n versionUids: string[]\n excludeRevoked?: boolean\n checkAttesters?: boolean\n}): Promise<Attestation[]> => {\n const itemProperties = await getItemPropertiesFromEas({ versionUids, excludeRevoked })\n if (!checkAttesters || itemProperties.length === 0) {\n return pickLatestPropertyAttestationsByRefAndSchema(itemProperties)\n }\n\n const easClient = BaseEasClient.getEasClient()\n const { itemVersions } = (await easClient.request(GET_VERSIONS, {\n where: {\n id: { in: [...new Set(itemProperties.map((p) => p.refUID))] },\n schemaId: { equals: VERSION_SCHEMA_UID },\n },\n })) as { itemVersions: Attestation[] }\n const seedUids = [...new Set(itemVersions.map((v) => v.refUID))]\n const { itemSeeds } = (await easClient.request(GET_SEEDS_LEAN, {\n where: { id: { in: seedUids } },\n take: seedUids.length,\n skip: 0,\n })) as { itemSeeds: Attestation[] }\n\n // A version whose seed EAS didn't return can't be checked, so it doesn't count.\n const knownSeedUids = new Set(itemSeeds.map((seed) => seed.id))\n const trustedVersions = keepAttestationsFromRefAttester(\n itemVersions.filter((version) => knownSeedUids.has(version.refUID)),\n itemSeeds,\n )\n const trustedVersionUids = new Set(trustedVersions.map((version) => version.id))\n const trustedProperties = keepAttestationsFromRefAttester(\n itemProperties.filter((property) => trustedVersionUids.has(property.refUID)),\n trustedVersions,\n )\n return pickLatestPropertyAttestationsByRefAndSchema(trustedProperties)\n}\n\n/**\n * UID of the first EAS schema whose definition ends with `schemaName`, or undefined when there is\n * none or the EAS clients aren't configured. Throws when the request fails.\n */\nexport const fetchEasSchemaUidBySchemaName = async ({\n schemaName,\n}: {\n schemaName: string\n}): Promise<string | undefined> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n if (!queryClient || !easClient) {\n return undefined\n }\n\n const { schemas } = (await queryClient.fetchQuery({\n queryKey: [`getEasSchemaUidBySchemaName`, schemaName],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n endsWith: schemaName,\n },\n },\n }),\n })) as { schemas: Array<{ id: string }> }\n\n if (!schemas || schemas.length === 0) {\n return undefined\n }\n\n return schemas[0]!.id\n}\n\nexport const getEasSchemaUidBySchemaName = async ({\n schemaName,\n}: {\n schemaName: string\n}): Promise<string | undefined> => {\n try {\n return await fetchEasSchemaUidBySchemaName({ schemaName })\n } catch (error) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Failed to fetch schema for schema name ${schemaName}:`, error)\n }\n return undefined\n }\n}\n\nexport const getSeedsFromSchemaUids = async ({\n schemaUids,\n addresses,\n excludeRevoked = true,\n}: {\n schemaUids: string[]\n addresses: string[]\n excludeRevoked?: boolean\n}) => {\n const attesterAddresses = addresses.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n })\n let where: Record<string, unknown> = {\n attester: {\n in: attesterAddresses,\n },\n schemaId: {\n in: schemaUids,\n },\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [\n `getSeedsForAllModels`,\n excludeRevoked,\n [...schemaUids].sort(),\n [...addresses].sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_SEEDS, {\n where,\n }),\n })) as { itemSeeds: Attestation[] }\n\n return itemSeeds\n}\n\n/**\n * Seeds of the schema named `schemaName`, newest first, revoked ones left out. With `uidPrefix`,\n * only seeds whose UID starts with it; easscan matches it case-sensitively, so pass it lowercase\n * with `0x`.\n */\nexport const getSeedsBySchemaName = async (\n schemaName: string,\n limit: number = 10,\n skip?: number,\n options?: { uidPrefix?: string },\n) => {\n const skipVal = skip ?? 0\n const uidPrefix = options?.uidPrefix\n const variables = {\n where: withExcludeRevokedFilter({\n ...(uidPrefix !== undefined ? { id: { startsWith: uidPrefix } } : {}),\n schema: {\n is: {\n schemaNames: {\n some: {\n name: {\n equals: schemaName,\n },\n },\n },\n },\n },\n }),\n take: limit,\n skip: skipVal,\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [`getSeedsBySchemaName`, schemaName, limit, skipVal, uidPrefix ?? null],\n queryFn: async () => easClient.request(GET_SEEDS_LEAN, variables),\n })) as { itemSeeds: Attestation[] }\n\n // Every seed matched `schemaName`, so it is attached here instead of selected (see GET_SEEDS_LEAN).\n return itemSeeds.map((seed) => withSchemaNames(seed, [schemaName]))\n}\n\nconst withSchemaNames = (seed: Attestation, names: string[]): Attestation =>\n ({ ...seed, schema: { schemaNames: names.map((name) => ({ name })) } }) as Attestation\n\n/** Found schema names by endpoint and schema UID. A schema's names don't change once found. */\nconst schemaNamesBySchemaUid = new Map<string, string[]>()\n\nconst schemaNamesCacheKey = (schemaUid: string): string => {\n let endpoint = ''\n try {\n endpoint = getEasEndpoint()\n } catch {\n // Misconfigured chain: the request itself will fail.\n }\n return `${endpoint}\\n${schemaUid.toLowerCase()}`\n}\n\n/** Clears the schema-name cache of getSchemaNamesBySchemaUids. For tests. */\nexport const resetSchemaNamesCache = (): void => {\n schemaNamesBySchemaUid.clear()\n}\n\n/**\n * Names of each EAS schema in `schemaUids`, in EAS order, keyed by the UID as given. Schemas with\n * no name are left out. Found names are cached for the process; schemas without one are asked\n * again next time.\n */\nexport const getSchemaNamesBySchemaUids = async (\n schemaUids: string[],\n): Promise<Map<string, string[]>> => {\n const result = new Map<string, string[]>()\n const missing: string[] = []\n for (const uid of new Set(schemaUids)) {\n const cached = schemaNamesBySchemaUid.get(schemaNamesCacheKey(uid))\n if (cached) result.set(uid, cached)\n else missing.push(uid)\n }\n if (missing.length === 0) return result\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n const { schemas } = (await queryClient.fetchQuery({\n queryKey: [`getSchemaNamesBySchemaUids`, [...missing].sort()],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: { id: { in: missing } },\n }),\n })) as { schemas: Array<{ id: string; schemaNames?: Array<{ name: string }> }> }\n\n const byLowerUid = new Map(missing.map((uid) => [uid.toLowerCase(), uid]))\n for (const schema of schemas ?? []) {\n const names = (schema.schemaNames ?? []).map((n) => n.name)\n const uid = byLowerUid.get(schema.id.toLowerCase())\n if (!uid || names.length === 0) continue\n schemaNamesBySchemaUid.set(schemaNamesCacheKey(uid), names)\n result.set(uid, names)\n }\n return result\n}\n\n/**\n * Seed attestations whose UID is in `uids`, newest first, with `schema.schemaNames` attached from\n * their `schemaId` (the seeds themselves are fetched without that join, which is slow on easscan).\n */\nexport const getSeedsByUidsFromEas = async ({\n uids,\n excludeRevoked = true,\n}: {\n uids: string[]\n excludeRevoked?: boolean\n}): Promise<Attestation[]> => {\n if (uids.length === 0) return []\n const where = excludeRevoked ? withExcludeRevokedFilter({ id: { in: uids } }) : { id: { in: uids } }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [`getSeedsByUidsFromEas`, [...uids].sort(), excludeRevoked],\n queryFn: async () => easClient.request(GET_SEEDS_LEAN, { where, take: uids.length, skip: 0 }),\n })) as { itemSeeds: Attestation[] }\n\n const seeds = itemSeeds ?? []\n const namesBySchemaUid = await getSchemaNamesBySchemaUids(seeds.map((seed) => seed.schemaId))\n return seeds.map((seed) => withSchemaNames(seed, namesBySchemaUid.get(seed.schemaId) ?? []))\n}\n\nexport type AttestationChange = {\n id: string\n refUID: string\n timeCreated: number\n /** Unix seconds; 0 when not revoked. */\n revocationTime: number\n}\n\n/** UIDs per `in` filter, so a request body stays a few dozen KB. */\nconst CHANGES_UIDS_PER_REQUEST = 400\n\n/**\n * Attestations created or revoked after `since` (unix seconds) that either reference one of\n * `refUIDs` (new or revoked Versions of a Seed, properties of a Version) or are one of `ids`\n * (a revoked Seed). Revoked ones are included: a revocation is a change. Large lists are split\n * over several requests, run concurrently.\n */\nexport const getAttestationChangesSince = async ({\n refUIDs,\n ids,\n since,\n}: {\n refUIDs: string[]\n ids: string[]\n since: number\n}): Promise<AttestationChange[]> => {\n const changedSince = { OR: [{ timeCreated: { gt: since } }, { revocationTime: { gt: since } }] }\n const filters: Record<string, unknown>[] = []\n const pushChunks = (field: 'refUID' | 'id', uids: string[]) => {\n const unique = [...new Set(uids)].sort()\n for (let i = 0; i < unique.length; i += CHANGES_UIDS_PER_REQUEST) {\n filters.push({ [field]: { in: unique.slice(i, i + CHANGES_UIDS_PER_REQUEST) } })\n }\n }\n pushChunks('refUID', refUIDs)\n pushChunks('id', ids)\n if (filters.length === 0) return []\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n const responses = await Promise.all(\n filters.map((filter) =>\n queryClient.fetchQuery({\n queryKey: [`getAttestationChangesSince`, filter, since],\n queryFn: async () =>\n easClient.request(GET_ATTESTATION_CHANGES, { where: { AND: [filter, changedSince] } }),\n }) as Promise<{ changes: AttestationChange[] }>,\n ),\n )\n\n const byId = new Map<string, AttestationChange>()\n for (const { changes } of responses) {\n for (const change of changes ?? []) byId.set(change.id, change)\n }\n return [...byId.values()]\n}\n\nexport const getSeedUidsBySchemaName = async (schemaName: string, limit: number = 10) => {\n const itemSeeds = await getSeedsBySchemaName(schemaName, limit)\n return itemSeeds.map((seed: Attestation) => seed.id)\n}\n","import { ZERO_BYTES32 } from './constants.js'\n\n/**\n * True when the value is not a real EAS attestation UID stored in SQLite\n * (missing, empty, legacy 'NULL' sentinel, or zero bytes32).\n */\nexport function isPlaceholderUid(value: string | null | undefined): boolean {\n if (value == null || value === '') return true\n if (value === 'NULL') return true\n const v = value.trim()\n if (v === '') return true\n if (v.toLowerCase() === ZERO_BYTES32.toLowerCase()) return true\n return false\n}\n\n/**\n * Strict EAS attestation UID: 0x-prefixed 32-byte hex (case-insensitive 0x / hex body).\n * Excludes placeholders and ZERO_BYTES32.\n */\nexport function isValidEasAttestationUid(value: string | null | undefined): boolean {\n if (isPlaceholderUid(value)) return false\n const v = String(value).trim()\n if (!/^0x/i.test(v)) return false\n const hex = v.slice(2)\n if (hex.length !== 64) return false\n return /^[0-9a-fA-F]{64}$/.test(hex)\n}\n\n/** Normalize bytes32 hex strings for case-insensitive comparison (schema UIDs, etc.). */\nexport function normalizeBytes32Hex(value: string | null | undefined): string {\n if (value == null || value === '') return ''\n const raw = String(value).trim()\n const body = raw.startsWith('0x') || raw.startsWith('0X') ? raw.slice(2) : raw\n const hex = body.replace(/[^0-9a-fA-F]/g, '0').padStart(64, '0').slice(-64)\n return ('0x' + hex).toLowerCase()\n}\n","import { keccak256Hex } from './keccak.js'\nimport { normalizeBytes32Hex } from './easUid.js'\nimport { checksumAddress } from './utils.js'\n\n/** EAS schema definition for tool domain-ownership sidecar attestations (revocable). */\nexport const DOMAIN_OWNERSHIP_SCHEMA_DEF =\n 'string domain,address claimer,string method,bytes32 challengeHash,uint64 verifiedAt,string registryCreationDate,string registryExpirationDate,bytes32 registryFingerprint,string scope'\n\n/** Schema #1 display name for {@link DOMAIN_OWNERSHIP_SCHEMA_DEF}. */\nexport const DOMAIN_OWNERSHIP_SCHEMA_NAME = 'seedprotocol.domainOwnership'\n\n/** Challenge method stored on-chain. */\nexport const DOMAIN_OWNERSHIP_METHOD = 'dns-txt-challenge'\n\n/** Default scope: registrable domain (eTLD+1). */\nexport const DOMAIN_OWNERSHIP_SCOPE_REGISTRABLE = 'registrable'\n\n/** Exact-hostname scope: the challenge was published on this hostname, not on its eTLD+1. */\nexport const DOMAIN_OWNERSHIP_SCOPE_HOSTNAME = 'hostname'\n\n/** Underscored DNS owner-name prefix (IETF domain control validation style). */\nexport const DOMAIN_OWNERSHIP_TXT_LABEL = '_seedprotocol-challenge'\n\n/** Default challenge lifetime (72 hours). */\nexport const DOMAIN_OWNERSHIP_CHALLENGE_TTL_MS = 72 * 60 * 60 * 1000\n\n/** Soft staleness window when no live registry snapshot is available (365 days). */\nexport const DOMAIN_OWNERSHIP_SOFT_STALE_MS = 365 * 24 * 60 * 60 * 1000\n\n/** Fallback EAS expiration when RDAP has no expirationDate (365 days from verifiedAt). */\nexport const DOMAIN_OWNERSHIP_DEFAULT_EXPIRATION_SECS = 365 * 24 * 60 * 60\n\nexport type DomainOwnershipDecoded = {\n domain: string\n claimer: string\n method: string\n challengeHash: `0x${string}`\n verifiedAt: number\n registryCreationDate: string\n registryExpirationDate: string\n registryFingerprint: `0x${string}`\n scope: string\n}\n\nexport type DomainOwnershipTxtParts = {\n token: string\n claimer: string\n expiry: string\n}\n\nexport type DomainRegistryFingerprintInput = {\n domain: string\n creationDate?: string | null\n registrarIanaId?: string | null\n}\n\nexport type DomainOwnershipAssessStatus =\n | 'valid'\n | 'expired'\n | 'likely_transferred'\n | 'stale'\n | 'unknown'\n\nexport type DomainOwnershipAssessResult = {\n status: DomainOwnershipAssessStatus\n warnings: string[]\n}\n\ntype DecodedField = {\n name?: string\n value?: unknown\n type?: string\n}\n\nfunction utf8Bytes(s: string): Uint8Array {\n return new TextEncoder().encode(s)\n}\n\nfunction normalizeDomain(domain: string): string {\n return domain.trim().toLowerCase().replace(/\\.$/, '')\n}\n\nfunction normalizeClaimer(claimer: string): string {\n const trimmed = claimer.trim()\n try {\n return checksumAddress(trimmed).toLowerCase()\n } catch {\n return trimmed.toLowerCase()\n }\n}\n\n/**\n * DNS owner name for the challenge TXT record.\n * Example: `_seedprotocol-challenge.example.com`\n */\nexport function domainOwnershipTxtName(domain: string): string {\n return `${DOMAIN_OWNERSHIP_TXT_LABEL}.${normalizeDomain(domain)}`\n}\n\n/**\n * Build IETF-style key=value TXT RDATA for a domain ownership challenge.\n */\nexport function buildDomainOwnershipTxtValue(params: {\n token: string\n claimer: string\n expiry: string\n}): string {\n const claimer = normalizeClaimer(params.claimer)\n return `token=${params.token},addr=${claimer},expiry=${params.expiry}`\n}\n\n/**\n * Parse a domain ownership TXT RDATA value. Returns null when required keys are missing.\n */\nexport function parseDomainOwnershipTxtValue(value: string): DomainOwnershipTxtParts | null {\n const raw = value.replace(/^\"+|\"+$/g, '').trim()\n const parts = new Map<string, string>()\n for (const segment of raw.split(',')) {\n const idx = segment.indexOf('=')\n if (idx <= 0) continue\n const key = segment.slice(0, idx).trim()\n const val = segment.slice(idx + 1).trim()\n if (key) parts.set(key, val)\n }\n const token = parts.get('token')\n const claimer = parts.get('addr') ?? parts.get('claimer')\n const expiry = parts.get('expiry')\n if (!token || !claimer || !expiry) return null\n return { token, claimer: normalizeClaimer(claimer), expiry }\n}\n\n/**\n * Deterministic challenge hash: keccak256 of canonical UTF-8 material.\n * Material: `domain|claimer|token|scope` (lowercased domain/claimer).\n */\nexport function hashDomainOwnershipChallenge(params: {\n domain: string\n claimer: string\n token: string\n scope?: string\n}): `0x${string}` {\n const domain = normalizeDomain(params.domain)\n const claimer = normalizeClaimer(params.claimer)\n const scope = (params.scope ?? DOMAIN_OWNERSHIP_SCOPE_REGISTRABLE).trim()\n const material = `${domain}|${claimer}|${params.token}|${scope}`\n return ('0x' + keccak256Hex(utf8Bytes(material))) as `0x${string}`\n}\n\n/**\n * Deterministic registry fingerprint from stable RDAP fields.\n * Uses domain + creationDate + registrar IANA id (empty string when missing).\n */\nexport function hashDomainRegistryFingerprint(\n input: DomainRegistryFingerprintInput,\n): `0x${string}` {\n const payload = {\n domain: normalizeDomain(input.domain),\n creationDate: (input.creationDate ?? '').trim(),\n registrarIanaId: (input.registrarIanaId ?? '').trim(),\n }\n return ('0x' + keccak256Hex(utf8Bytes(JSON.stringify(payload)))) as `0x${string}`\n}\n\nfunction asBytes32(value: unknown): `0x${string}` {\n if (typeof value === 'string') return normalizeBytes32Hex(value) as `0x${string}`\n if (value && typeof value === 'object' && 'hex' in (value as object)) {\n return normalizeBytes32Hex(String((value as { hex: string }).hex)) as `0x${string}`\n }\n // EAS decodedDataJson nests each field's value: { name, type, value }.\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return asBytes32((value as { value: unknown }).value)\n }\n return normalizeBytes32Hex(String(value ?? '')) as `0x${string}`\n}\n\nfunction asString(value: unknown): string {\n if (typeof value === 'string') return value\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return String((value as { value: unknown }).value ?? '')\n }\n return String(value ?? '')\n}\n\nfunction asUint64(value: unknown): number {\n if (typeof value === 'number' && Number.isFinite(value)) return Math.trunc(value)\n if (typeof value === 'bigint') return Number(value)\n if (typeof value === 'string' && value.trim() !== '') {\n const n = Number(value)\n return Number.isFinite(n) ? Math.trunc(n) : 0\n }\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return asUint64((value as { value: unknown }).value)\n }\n return 0\n}\n\n/**\n * Decode DomainOwnership fields from EAS `decodedDataJson` or a JSON array of named fields.\n */\nexport function decodeDomainOwnershipData(\n data: string | DecodedField[],\n): DomainOwnershipDecoded {\n const fields: DecodedField[] =\n typeof data === 'string' ? (JSON.parse(data) as DecodedField[]) : data\n const byName = new Map<string, DecodedField>()\n for (const f of fields) {\n if (f?.name) byName.set(f.name, f)\n }\n\n return {\n domain: normalizeDomain(asString(byName.get('domain')?.value)),\n claimer: normalizeClaimer(asString(byName.get('claimer')?.value)),\n method: asString(byName.get('method')?.value),\n challengeHash: asBytes32(byName.get('challengeHash')?.value),\n verifiedAt: asUint64(byName.get('verifiedAt')?.value),\n registryCreationDate: asString(byName.get('registryCreationDate')?.value),\n registryExpirationDate: asString(byName.get('registryExpirationDate')?.value),\n registryFingerprint: asBytes32(byName.get('registryFingerprint')?.value),\n scope: asString(byName.get('scope')?.value),\n }\n}\n\nfunction isoToUnixSeconds(iso: string): number | null {\n if (!iso?.trim()) return null\n const ms = Date.parse(iso)\n if (!Number.isFinite(ms)) return null\n return Math.floor(ms / 1000)\n}\n\n/**\n * Pure validity assessment for a decoded domain-ownership attestation.\n *\n * - `registrySnapshot === undefined`: no live recheck; may return `stale`\n * - `registrySnapshot === null`: live lookup failed; returns `unknown` (unless expired)\n * - object snapshot: compares fingerprint → `likely_transferred` on mismatch\n */\nexport function assessDomainOwnership(params: {\n decoded: DomainOwnershipDecoded\n /** EAS on-chain expirationTime (unix seconds), when known. */\n expirationTime?: number | null\n now?: number\n registrySnapshot?: DomainRegistryFingerprintInput | null\n softStaleMs?: number\n}): DomainOwnershipAssessResult {\n const nowSec = Math.floor((params.now ?? Date.now()) / 1000)\n const warnings: string[] = []\n const softStaleMs = params.softStaleMs ?? DOMAIN_OWNERSHIP_SOFT_STALE_MS\n\n const easExp = params.expirationTime\n const registryExp = isoToUnixSeconds(params.decoded.registryExpirationDate)\n const expiredByEas =\n typeof easExp === 'number' && easExp > 0 && nowSec >= easExp\n const expiredByRegistry = registryExp != null && nowSec >= registryExp\n if (expiredByEas || expiredByRegistry) {\n return { status: 'expired', warnings }\n }\n\n if (params.registrySnapshot === null) {\n warnings.push('Registry lookup unavailable; ownership status is unknown')\n return { status: 'unknown', warnings }\n }\n\n if (params.registrySnapshot !== undefined) {\n const expected = hashDomainRegistryFingerprint({\n domain: params.decoded.domain,\n creationDate: params.registrySnapshot.creationDate,\n registrarIanaId: params.registrySnapshot.registrarIanaId,\n })\n if (\n normalizeBytes32Hex(expected) !==\n normalizeBytes32Hex(params.decoded.registryFingerprint)\n ) {\n warnings.push(\n 'Registry creation date or registrar IANA id no longer matches attestation fingerprint',\n )\n return { status: 'likely_transferred', warnings }\n }\n return { status: 'valid', warnings }\n }\n\n const nowMs = params.now ?? Date.now()\n const verifiedAtMs = params.decoded.verifiedAt * 1000\n if (Number.isFinite(verifiedAtMs) && verifiedAtMs > 0 && nowMs - verifiedAtMs > softStaleMs) {\n warnings.push(\n 'Attestation is older than the soft staleness window and was not rechecked against the registry',\n )\n return { status: 'stale', warnings }\n }\n\n return { status: 'valid', warnings }\n}\n","import { checksumAddress } from './utils.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { GET_DOMAIN_OWNERSHIPS } from './queries.js'\nimport {\n DOMAIN_OWNERSHIP_SCHEMA_NAME,\n decodeDomainOwnershipData,\n} from './domainOwnershipHelpers.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type GetDomainOwnershipFromEasParams = {\n /** Tool canonical wallet(s) that may have attested. */\n toolAddresses: string[]\n /** Optional domains to keep (matched against decoded `domain`, case-insensitive). */\n domains?: string[]\n /** Optional claimer addresses (EAS `recipient` filter). */\n claimers?: string[]\n /**\n * DomainOwnership schema UID. When omitted, filters by named schema\n * {@link DOMAIN_OWNERSHIP_SCHEMA_NAME}.\n */\n schemaUid?: string\n excludeRevoked?: boolean\n}\n\nfunction normalizeDomainFilter(domain: string): string {\n return domain.trim().toLowerCase().replace(/\\.$/, '')\n}\n\n/**\n * Query DomainOwnership sidecar attestations by tool attester (and optional filters).\n * Domain filters are applied client-side from `decodedDataJson`.\n */\nexport async function getDomainOwnershipFromEas(\n params: GetDomainOwnershipFromEasParams,\n): Promise<Attestation[]> {\n const {\n toolAddresses,\n domains,\n claimers,\n schemaUid,\n excludeRevoked = true,\n } = params\n if (!toolAddresses.length) return []\n\n const attesterAddresses = toolAddresses.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n })\n\n let where: Record<string, unknown> = {\n attester: { in: attesterAddresses },\n }\n\n if (schemaUid) {\n where.schemaId = { equals: schemaUid }\n } else {\n where.schema = {\n is: {\n schemaNames: {\n some: {\n name: { equals: DOMAIN_OWNERSHIP_SCHEMA_NAME },\n },\n },\n },\n }\n }\n\n if (claimers?.length) {\n where.recipient = {\n in: claimers.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n }),\n }\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { domainOwnerships } = (await queryClient.fetchQuery({\n queryKey: [\n 'getDomainOwnershipFromEas',\n excludeRevoked,\n schemaUid ?? DOMAIN_OWNERSHIP_SCHEMA_NAME,\n [...attesterAddresses].sort(),\n [...(domains ?? []).map(normalizeDomainFilter)].sort(),\n [...(claimers ?? [])].map((c) => c.toLowerCase()).sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_DOMAIN_OWNERSHIPS, {\n where,\n }),\n })) as { domainOwnerships: Attestation[] }\n\n if (!domains?.length) return domainOwnerships\n\n const want = new Set(domains.map(normalizeDomainFilter))\n return domainOwnerships.filter((row) => {\n try {\n const decoded = decodeDomainOwnershipData(row.decodedDataJson ?? '[]')\n return want.has(decoded.domain)\n } catch {\n return false\n }\n })\n}\n\nexport * from './domainOwnershipHelpers.js'\n","import { keccak256Hex } from './keccak.js'\nimport { normalizeBytes32Hex } from './easUid.js'\nimport { checksumAddress } from './utils.js'\n\n/** EAS schema definition for ManagedAccount publish-automation grants (revocable). */\nexport const PUBLISH_AUTHORIZATION_SCHEMA_DEF =\n 'address identity,address sessionKey,address app,string scopes,uint64 grantedAt,uint64 expiresAt,bytes32 permissionsHash'\n\n/** Schema #1 display name for {@link PUBLISH_AUTHORIZATION_SCHEMA_DEF}. */\nexport const PUBLISH_AUTHORIZATION_SCHEMA_NAME = 'seedprotocol.publishAuthorization'\n\n/** Fixed v1 scopes string. */\nexport const PUBLISH_AUTHORIZATION_SCOPES = 'publish,revoke'\n\n/** Default EAS expiration when grant has no expiresAt (365 days from grantedAt). */\nexport const PUBLISH_AUTHORIZATION_DEFAULT_EXPIRATION_SECS = 365 * 24 * 60 * 60\n\nexport type PublishAuthorizationDecoded = {\n identity: string\n sessionKey: string\n app: string\n scopes: string\n grantedAt: number\n expiresAt: number\n permissionsHash: `0x${string}`\n}\n\nexport type PublishAuthorizationAssessStatus = 'valid' | 'expired' | 'scope_mismatch' | 'unknown'\n\nexport type PublishAuthorizationAssessResult = {\n status: PublishAuthorizationAssessStatus\n warnings: string[]\n}\n\ntype DecodedField = {\n name?: string\n value?: unknown\n type?: string\n}\n\nfunction normalizeAddress(addr: string): string {\n const trimmed = addr.trim()\n try {\n return checksumAddress(trimmed).toLowerCase()\n } catch {\n return trimmed.toLowerCase()\n }\n}\n\nfunction asBytes32(value: unknown): `0x${string}` {\n if (typeof value === 'string') return normalizeBytes32Hex(value) as `0x${string}`\n if (value && typeof value === 'object' && 'hex' in (value as object)) {\n return normalizeBytes32Hex(String((value as { hex: string }).hex)) as `0x${string}`\n }\n return normalizeBytes32Hex(String(value ?? '')) as `0x${string}`\n}\n\nfunction asString(value: unknown): string {\n if (typeof value === 'string') return value\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return String((value as { value: unknown }).value ?? '')\n }\n return String(value ?? '')\n}\n\nfunction asUint64(value: unknown): number {\n if (typeof value === 'number' && Number.isFinite(value)) return Math.trunc(value)\n if (typeof value === 'bigint') return Number(value)\n if (typeof value === 'string' && value.trim() !== '') {\n const n = Number(value)\n return Number.isFinite(n) ? Math.trunc(n) : 0\n }\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return asUint64((value as { value: unknown }).value)\n }\n return 0\n}\n\n/**\n * Decode PublishAuthorization fields from EAS `decodedDataJson` or a JSON array of named fields.\n */\nexport function decodePublishAuthorizationData(\n data: string | DecodedField[],\n): PublishAuthorizationDecoded {\n const fields: DecodedField[] =\n typeof data === 'string' ? (JSON.parse(data) as DecodedField[]) : data\n const byName = new Map<string, DecodedField>()\n for (const f of fields) {\n if (f?.name) byName.set(f.name, f)\n }\n\n return {\n identity: normalizeAddress(asString(byName.get('identity')?.value)),\n sessionKey: normalizeAddress(asString(byName.get('sessionKey')?.value)),\n app: normalizeAddress(asString(byName.get('app')?.value)),\n scopes: asString(byName.get('scopes')?.value),\n grantedAt: asUint64(byName.get('grantedAt')?.value),\n expiresAt: asUint64(byName.get('expiresAt')?.value),\n permissionsHash: asBytes32(byName.get('permissionsHash')?.value),\n }\n}\n\n/**\n * Pure validity assessment for a decoded publish-authorization attestation.\n */\nexport function assessPublishAuthorization(params: {\n decoded: PublishAuthorizationDecoded\n /** EAS on-chain expirationTime (unix seconds), when known. */\n expirationTime?: number | null\n now?: number\n /** When set, scopes must equal this string (default: publish,revoke). */\n expectedScopes?: string\n}): PublishAuthorizationAssessResult {\n const nowSec = Math.floor((params.now ?? Date.now()) / 1000)\n const warnings: string[] = []\n const expectedScopes = params.expectedScopes ?? PUBLISH_AUTHORIZATION_SCOPES\n\n const easExp = params.expirationTime\n const grantExp = params.decoded.expiresAt\n const expiredByEas = typeof easExp === 'number' && easExp > 0 && nowSec >= easExp\n const expiredByGrant = grantExp > 0 && nowSec >= grantExp\n if (expiredByEas || expiredByGrant) {\n return { status: 'expired', warnings }\n }\n\n if (params.decoded.scopes.trim() !== expectedScopes.trim()) {\n warnings.push(`Unexpected scopes \"${params.decoded.scopes}\"; expected \"${expectedScopes}\"`)\n return { status: 'scope_mismatch', warnings }\n }\n\n if (!params.decoded.identity || !params.decoded.sessionKey) {\n warnings.push('Missing identity or sessionKey')\n return { status: 'unknown', warnings }\n }\n\n return { status: 'valid', warnings }\n}\n\n/** Re-export keccak helper used by tests / fingerprinting (permissions hash lives in publish). */\nexport function hashPublishAuthorizationMaterial(material: string): `0x${string}` {\n return ('0x' + keccak256Hex(new TextEncoder().encode(material))) as `0x${string}`\n}\n","import { checksumAddress } from './utils.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { GET_SEEDS } from './queries.js'\nimport {\n PUBLISH_AUTHORIZATION_SCHEMA_NAME,\n decodePublishAuthorizationData,\n} from './publishAuthorizationHelpers.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type GetPublishAuthorizationFromEasParams = {\n /**\n * ManagedAccount identity address(es) that attested the grant (EAS `attester`).\n * When omitted, filter by named schema only (then apply identity filters client-side).\n */\n identities?: string[]\n /** Optional session key addresses (EAS `recipient` filter). */\n sessionKeys?: string[]\n /** Optional app addresses (decoded `app`, case-insensitive). */\n apps?: string[]\n /**\n * PublishAuthorization schema UID. When omitted, filters by named schema\n * {@link PUBLISH_AUTHORIZATION_SCHEMA_NAME}.\n */\n schemaUid?: string\n excludeRevoked?: boolean\n}\n\n/**\n * Query PublishAuthorization sidecar attestations.\n */\nexport async function getPublishAuthorizationFromEas(\n params: GetPublishAuthorizationFromEasParams = {},\n): Promise<Attestation[]> {\n const {\n identities,\n sessionKeys,\n apps,\n schemaUid,\n excludeRevoked = true,\n } = params\n\n let where: Record<string, unknown> = {}\n\n if (schemaUid) {\n where.schemaId = { equals: schemaUid }\n } else {\n where.schema = {\n is: {\n schemaNames: {\n some: {\n name: { equals: PUBLISH_AUTHORIZATION_SCHEMA_NAME },\n },\n },\n },\n }\n }\n\n if (identities?.length) {\n where.attester = {\n in: identities.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n }),\n }\n }\n\n if (sessionKeys?.length) {\n where.recipient = {\n in: sessionKeys.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n }),\n }\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [\n 'getPublishAuthorizationFromEas',\n excludeRevoked,\n schemaUid ?? PUBLISH_AUTHORIZATION_SCHEMA_NAME,\n [...(identities ?? [])].map((a) => a.toLowerCase()).sort(),\n [...(sessionKeys ?? [])].map((a) => a.toLowerCase()).sort(),\n [...(apps ?? [])].map((a) => a.toLowerCase()).sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_SEEDS, {\n where,\n }),\n })) as { itemSeeds: Attestation[] }\n\n if (!apps?.length) return itemSeeds\n\n const want = new Set(apps.map((a) => a.toLowerCase()))\n return itemSeeds.filter((row) => {\n try {\n const decoded = decodePublishAuthorizationData(row.decodedDataJson ?? '[]')\n return want.has(decoded.app.toLowerCase())\n } catch {\n return false\n }\n })\n}\n\nexport * from './publishAuthorizationHelpers.js'\n","/**\n * Names on EAS (ADR 0008).\n *\n * Writing: {@link easName} is the only function that turns a local model or property name into an\n * EAS name (`HTMLPage` → `html_page`). Everything that registers, attests or looks up a schema by\n * name uses it.\n *\n * Reading: an EAS name is never turned back into a local name. It is matched against the local\n * candidates by key, at a {@link NameMatchLevel}:\n *\n * - `exact`: the EAS name is exactly `easName(local)`, what this SDK publishes.\n * - `normalized`: lowercase alphanumerics only. `html_page`, `htmlpage`, `HTMLPage` and\n * `html-page` are the same; this finds seeds published under older SDKs' names.\n * - `fuzzy`: the normalized key without a trailing plural `s`, and for relations without a\n * trailing `id`/`ids`. `posts` matches `post`, `author_id` matches the relation `author`.\n * No edit distance: `title` never matches `tile`.\n *\n * The tightest tier wins; a tie in the best tier matches nothing.\n */\n\n/**\n * The EAS name of a local model or property name: words split at lowercase-or-digit to uppercase\n * boundaries and before the last capital of an acronym, every other run of non-alphanumerics\n * turned into `_`, trimmed, lowercased.\n * `HTMLPage → html_page`, `ID3Tag → id3_tag`, `imageV2 → image_v2`, `New model → new_model`.\n */\nexport const easName = (name: string): string =>\n name\n .replace(/([a-z0-9])([A-Z])/g, '$1_$2')\n .replace(/([A-Z])([A-Z][a-z])/g, '$1_$2')\n .replace(/[^A-Za-z0-9]+/g, '_')\n .replace(/^_+|_+$/g, '')\n .toLowerCase()\n\nexport type NameMatchLevel = 'exact' | 'normalized' | 'fuzzy'\n\n/** The levels, tightest first. */\nexport const NAME_MATCH_LEVELS: readonly NameMatchLevel[] = ['exact', 'normalized', 'fuzzy']\n\nexport const isNameMatchLevel = (value: unknown): value is NameMatchLevel =>\n typeof value === 'string' && (NAME_MATCH_LEVELS as readonly string[]).includes(value)\n\n/** How closely two names matched: the tightest level that accepts them. */\nexport type NameMatchTier = NameMatchLevel\n\nconst TIER_RANK: Record<NameMatchTier, number> = { exact: 0, normalized: 1, fuzzy: 2 }\n\n/** The default level (ADR 0008 and the nameMatch design): fuzzy. */\nexport const DEFAULT_NAME_MATCH_LEVEL: NameMatchLevel = 'fuzzy'\n\n/** Lowercase alphanumerics only. */\nexport const normalizedNameKey = (name: string): string => name.toLowerCase().replace(/[^a-z0-9]/g, '')\n\n/**\n * The normalized key without a relation's trailing `ids`/`id` (when `relation`), then without a\n * trailing plural `s`. Short keys are left alone, so `ids` and `bus` stay themselves.\n */\nexport const fuzzyNameKey = (name: string, options: { relation?: boolean } = {}): string => {\n let key = normalizedNameKey(name)\n if (options.relation) {\n if (key.length > 3 && key.endsWith('ids')) key = key.slice(0, -3)\n else if (key.length > 2 && key.endsWith('id')) key = key.slice(0, -2)\n }\n if (key.length > 3 && key.endsWith('s') && !key.endsWith('ss')) key = key.slice(0, -1)\n return key\n}\n\n/**\n * The tightest tier at which a local name and a name from EAS match, or undefined. `relation`\n * says whether the local name is a relation (Relation, Image, File, Html, or a List of them).\n */\nexport function nameMatchTier(\n localName: string,\n name: string,\n options: { relation?: boolean } = {},\n): NameMatchTier | undefined {\n if (easName(localName) === name) return 'exact'\n if (normalizedNameKey(localName) === normalizedNameKey(name)) return 'normalized'\n if (fuzzyNameKey(localName, options) === fuzzyNameKey(name, options)) return 'fuzzy'\n return undefined\n}\n\nexport const isNameMatchAllowed = (tier: NameMatchTier, level: NameMatchLevel): boolean =>\n TIER_RANK[tier] <= TIER_RANK[level]\n\nexport const compareNameMatchTiers = (a: NameMatchTier, b: NameMatchTier): number =>\n TIER_RANK[a] - TIER_RANK[b]\n\nexport type NameMatchCandidate<T> = {\n value: T\n /** The local name as it is written to EAS (a list relation's storage name, for instance). */\n name: string\n relation?: boolean\n /** This candidate's level. Default {@link DEFAULT_NAME_MATCH_LEVEL}. */\n level?: NameMatchLevel\n}\n\nexport type NameMatchResult<T> =\n | { kind: 'match'; value: T; tier: NameMatchTier }\n | { kind: 'ambiguous'; values: T[]; tier: NameMatchTier }\n | { kind: 'none' }\n\n/**\n * The candidate an EAS name matches: the one in the tightest tier its own level allows. Several\n * candidates in that tier are ambiguous, and match nothing.\n */\nexport function matchEasName<T>(\n name: string,\n candidates: readonly NameMatchCandidate<T>[],\n): NameMatchResult<T> {\n let best: NameMatchTier | undefined\n let values: T[] = []\n for (const candidate of candidates) {\n const tier = nameMatchTier(candidate.name, name, { relation: candidate.relation })\n if (!tier || !isNameMatchAllowed(tier, candidate.level ?? DEFAULT_NAME_MATCH_LEVEL)) continue\n if (best === undefined || compareNameMatchTiers(tier, best) < 0) {\n best = tier\n values = [candidate.value]\n } else if (tier === best) {\n values.push(candidate.value)\n }\n }\n if (best === undefined) return { kind: 'none' }\n if (values.length > 1) return { kind: 'ambiguous', values, tier: best }\n return { kind: 'match', value: values[0]!, tier: best }\n}\n\n/**\n * The local names an EAS name matches in the tightest tier that has any (each name at `level`, or\n * at the level `level(localName)` returns). Several names can share a tier, e.g. `New model` and\n * `NewModel` for `new_model`: the caller decides whether that's ambiguous (models in different\n * schemas) or the same thing.\n */\nexport function localNamesInBestMatchTier(\n name: string,\n localNames: Iterable<string>,\n options: { relation?: boolean; level?: NameMatchLevel | ((localName: string) => NameMatchLevel) } = {},\n): Set<string> {\n const levelOf =\n typeof options.level === 'function'\n ? options.level\n : () => (options.level as NameMatchLevel | undefined) ?? DEFAULT_NAME_MATCH_LEVEL\n let best: NameMatchTier | undefined\n let names = new Set<string>()\n for (const localName of localNames) {\n const tier = nameMatchTier(localName, name, { relation: options.relation })\n if (!tier || !isNameMatchAllowed(tier, levelOf(localName))) continue\n if (best === undefined || compareNameMatchTiers(tier, best) < 0) {\n best = tier\n names = new Set([localName])\n } else if (tier === best) {\n names.add(localName)\n }\n }\n return names\n}\n\n/**\n * Names that can match `name` at the normalized level and that an SDK may have written: its EAS\n * name, and what older SDKs published (the simple snake_case: `HTMLPage` → `htmlpage`). For\n * fetching schemas by name; the results are then filtered with {@link matchEasName}.\n */\nexport function easNameVariants(name: string): string[] {\n const legacy = name.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase()\n return [...new Set([easName(name), legacy, normalizedNameKey(name)])]\n}\n\n/**\n * The EAS names to fetch schemas under for a local model name at `level`: at `exact` its EAS name\n * only; at `normalized` also {@link easNameVariants} and the name as written; at `fuzzy` also a\n * plural or singular form of each. Fetching is a superset: results are still filtered with\n * {@link matchEasName}.\n */\nexport function easNamesToFetch(name: string, level: NameMatchLevel = DEFAULT_NAME_MATCH_LEVEL): string[] {\n if (level === 'exact') return [easName(name)]\n const names = new Set<string>([...easNameVariants(name), name])\n if (level === 'fuzzy') {\n for (const variant of [...names]) names.add(variant.endsWith('s') ? variant.slice(0, -1) : `${variant}s`)\n }\n return [...names]\n}\n","/**\n * Numeric values on EAS (ADR 0010).\n *\n * The indexer's `decodedDataJson` gives a small uint (`uint8`) as a JSON number or a numeric\n * string, and a wide one (`uint256`) as `{ type: 'BigNumber', hex }`. Seed publishes Number as a\n * decimal string and Date as `uint256` Unix seconds. {@link decodeEasNumber} reads all of these.\n */\n\nconst INTEGER = /^-?\\d+$/\nconst HEX = /^(-?)0x([0-9a-f]+)$/i\n\n/** `uint8` … `uint256`, `int8` … `int256`, and the bare `uint`/`int`. */\nexport function isNumericEasType(easType: string | undefined | null): boolean {\n return typeof easType === 'string' && /^u?int\\d*$/.test(easType)\n}\n\nfunction fromHex(hex: string): string | undefined {\n const match = HEX.exec(hex.trim())\n if (!match) return undefined\n const n = BigInt('0x' + match[2])\n return (match[1] ? -n : n).toString()\n}\n\n/**\n * The decimal string for a numeric EAS value, or undefined when it isn't numeric.\n *\n * Accepts a finite JSON number, a bigint, a decimal or `0x` hex string, and an ethers v5\n * `{ type: 'BigNumber', hex }` (or `{ _hex }`). Integer strings stay exact (`'9007199254740993'`);\n * other numbers come back as `String(Number(value))` (`'1.5'`, `'1e+21'`). Publish uses the same\n * function for the value it attests, so what is written and what is read agree.\n */\nexport function decodeEasNumber(value: unknown): string | undefined {\n if (typeof value === 'bigint') return value.toString()\n if (typeof value === 'number') return Number.isFinite(value) ? String(value) : undefined\n if (typeof value === 'string') {\n const s = value.trim()\n if (!s) return undefined\n if (INTEGER.test(s)) return BigInt(s).toString()\n if (HEX.test(s)) return fromHex(s)\n const n = Number(s)\n return Number.isFinite(n) ? String(n) : undefined\n }\n if (value && typeof value === 'object') {\n const hex = (value as { hex?: unknown; _hex?: unknown }).hex ?? (value as { _hex?: unknown })._hex\n if (typeof hex === 'string') return fromHex(hex)\n }\n return undefined\n}\n","import { keccak256Hex } from './keccak.js'\nimport { normalizeBytes32Hex, isValidEasAttestationUid } from './easUid.js'\n\n/** EAS schema definition for tool PublishedBy sidecar attestations (revocable). */\nexport const PUBLISHED_BY_SCHEMA_DEF =\n 'bytes32 seedUid,bytes32 versionUid,bytes32[] attestationUids,bytes32 batchHash,string toolName,string toolVersion'\n\n/** Schema #1 display name for {@link PUBLISHED_BY_SCHEMA_DEF}. */\nexport const PUBLISHED_BY_SCHEMA_NAME = 'seedprotocol.publishedBy'\n\nexport type PublishedByDecoded = {\n seedUid: `0x${string}`\n versionUid: `0x${string}`\n attestationUids: `0x${string}`[]\n batchHash: `0x${string}`\n toolName: string\n toolVersion: string\n}\n\nfunction hexToBytes(hex: string): Uint8Array {\n const body = hex.startsWith('0x') || hex.startsWith('0X') ? hex.slice(2) : hex\n const out = new Uint8Array(body.length / 2)\n for (let i = 0; i < out.length; i++) {\n out[i] = parseInt(body.slice(i * 2, i * 2 + 2), 16)\n }\n return out\n}\n\n/**\n * Deterministic batch hash: keccak256 of sorted UIDs concatenated (abi.encodePacked of bytes32 values).\n */\nexport function hashPublishedByBatch(uids: readonly string[]): `0x${string}` {\n const sorted = [...uids]\n .map((u) => normalizeBytes32Hex(u))\n .filter((u) => u !== '' && isValidEasAttestationUid(u))\n .sort()\n if (sorted.length === 0) {\n return ('0x' + keccak256Hex(new Uint8Array(0))) as `0x${string}`\n }\n const packed = new Uint8Array(sorted.length * 32)\n for (let i = 0; i < sorted.length; i++) {\n packed.set(hexToBytes(sorted[i]!), i * 32)\n }\n return ('0x' + keccak256Hex(packed)) as `0x${string}`\n}\n\n/**\n * Returns true when `batchHash` equals {@link hashPublishedByBatch} of `attestationUids`.\n */\nexport function verifyPublishedByBatch(params: {\n attestationUids: readonly string[]\n batchHash: string\n}): boolean {\n const expected = hashPublishedByBatch(params.attestationUids)\n return normalizeBytes32Hex(expected) === normalizeBytes32Hex(params.batchHash)\n}\n\ntype DecodedField = {\n name?: string\n value?: unknown\n type?: string\n}\n\nfunction asBytes32(value: unknown): `0x${string}` {\n if (typeof value === 'string') return normalizeBytes32Hex(value) as `0x${string}`\n if (value && typeof value === 'object' && 'hex' in (value as object)) {\n return normalizeBytes32Hex(String((value as { hex: string }).hex)) as `0x${string}`\n }\n return normalizeBytes32Hex(String(value ?? '')) as `0x${string}`\n}\n\nfunction asString(value: unknown): string {\n if (typeof value === 'string') return value\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return String((value as { value: unknown }).value ?? '')\n }\n return String(value ?? '')\n}\n\n/**\n * Decode PublishedBy fields from EAS `decodedDataJson` (preferred) or a JSON array of named fields.\n */\nexport function decodePublishedByData(data: string | DecodedField[]): PublishedByDecoded {\n const fields: DecodedField[] =\n typeof data === 'string' ? (JSON.parse(data) as DecodedField[]) : data\n const byName = new Map<string, DecodedField>()\n for (const f of fields) {\n if (f?.name) byName.set(f.name, f)\n }\n\n const rawUids = byName.get('attestationUids')?.value\n let attestationUids: `0x${string}`[] = []\n if (Array.isArray(rawUids)) {\n attestationUids = rawUids.map((u) => asBytes32(u))\n } else if (\n rawUids &&\n typeof rawUids === 'object' &&\n Array.isArray((rawUids as { value?: unknown }).value)\n ) {\n attestationUids = ((rawUids as { value: unknown[] }).value).map((u) => asBytes32(u))\n }\n\n return {\n seedUid: asBytes32(byName.get('seedUid')?.value),\n versionUid: asBytes32(byName.get('versionUid')?.value),\n attestationUids,\n batchHash: asBytes32(byName.get('batchHash')?.value),\n toolName: asString(byName.get('toolName')?.value),\n toolVersion: asString(byName.get('toolVersion')?.value),\n }\n}\n","import { checksumAddress } from './utils.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { GET_SEEDS } from './queries.js'\nimport { PUBLISHED_BY_SCHEMA_NAME } from './publishedByHelpers.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type GetPublishedByFromEasParams = {\n /** Tool canonical wallet(s) that may have attested. */\n toolAddresses: string[]\n /** Optional seed UIDs used as refUID on the sidecar. */\n refUIDs?: string[]\n /**\n * PublishedBy schema UID. When omitted, filters by named schema\n * {@link PUBLISHED_BY_SCHEMA_NAME}.\n */\n schemaUid?: string\n excludeRevoked?: boolean\n}\n\n/**\n * Query PublishedBy sidecar attestations by tool attester (and optional refUID / schema).\n */\nexport async function getPublishedByFromEas(\n params: GetPublishedByFromEasParams,\n): Promise<Attestation[]> {\n const { toolAddresses, refUIDs, schemaUid, excludeRevoked = true } = params\n if (!toolAddresses.length) return []\n\n const attesterAddresses = toolAddresses.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n })\n\n let where: Record<string, unknown> = {\n attester: { in: attesterAddresses },\n }\n\n if (schemaUid) {\n where.schemaId = { equals: schemaUid }\n } else {\n where.schema = {\n is: {\n schemaNames: {\n some: {\n name: { equals: PUBLISHED_BY_SCHEMA_NAME },\n },\n },\n },\n }\n }\n\n if (refUIDs?.length) {\n where.refUID = { in: refUIDs }\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [\n 'getPublishedByFromEas',\n excludeRevoked,\n schemaUid ?? PUBLISHED_BY_SCHEMA_NAME,\n [...attesterAddresses].sort(),\n [...(refUIDs ?? [])].sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_SEEDS, {\n where,\n }),\n })) as { itemSeeds: Attestation[] }\n\n return itemSeeds\n}\n\nexport * from './publishedByHelpers.js'\n","import { BaseEasClient } from '../EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from '../QueryClient/BaseQueryClient.js'\nimport { DefaultEasClient } from './EasClient.js'\nimport { DefaultQueryClient } from './QueryClient.js'\n\nexport { DefaultEasClient } from './EasClient.js'\nexport { DefaultQueryClient } from './QueryClient.js'\n\n/**\n * Register the default EAS + query clients for whichever of the two has no implementation yet.\n * Clients a host already registered (e.g. the SDK's browser clients) are left in place.\n */\nexport function ensureEasPlatform(): void {\n if (!BaseEasClient.isConfigured()) BaseEasClient.configure(new DefaultEasClient())\n if (!BaseQueryClient.isConfigured()) BaseQueryClient.configure(new DefaultQueryClient())\n}\n","import { fetchEasSchemaUidBySchemaName } from '../api.js'\nimport { BaseEasClient } from '../EasClient/BaseEasClient.js'\nimport { getEasEndpoint } from '../easEndpoint.js'\nimport { BaseQueryClient } from '../QueryClient/BaseQueryClient.js'\nimport { GET_SCHEMA_BY_NAME } from '../queries.js'\nimport { toSnakeCase } from '../utils.js'\nimport { easName } from '../easNames.js'\n\nconst schemaUidForSchemaDefinition = new Map<string, string>()\nconst schemaUidForModel = new Map<string, string>()\n\n/**\n * How long a schema lookup that found nothing is remembered. Item creation looks up the same\n * property and model schemas for every item, and most local models have none on EAS, so misses are\n * cached too. After this, the next lookup asks EAS again, so a schema registered by another client\n * is eventually found. Registering a schema in this client forgets the misses it answers at once.\n */\nexport const SCHEMA_LOOKUP_MISS_TTL_MS = 5 * 60 * 1000\n\n/** Found UIDs from exact-definition lookups (createMetadata / updateMetadata), by endpoint and definition. */\nconst schemaUidForExactDefinition = new Map<string, string>()\n/** Lookup key → time its cached miss expires. */\nconst lookupMissExpiresAt = new Map<string, number>()\nconst lookupsInFlight = new Map<string, Promise<string | undefined>>()\n/** Bumped when misses are cleared, so a lookup already in flight doesn't cache its stale miss. */\nlet missGeneration = 0\n\n/** UIDs differ per chain, so lookups are scoped to the EAS endpoint they were made against. */\nconst currentEndpoint = (): string => {\n try {\n return getEasEndpoint()\n } catch {\n // Misconfigured chain: the lookup itself will fail and isn't cached.\n return ''\n }\n}\n\nconst scopeToEndpoint = (key: string): string => `${currentEndpoint()}\\n${key}`\n\n/**\n * Runs an EAS schema lookup unless the same lookup found nothing within the last\n * SCHEMA_LOOKUP_MISS_TTL_MS. Concurrent lookups for one key share a request. Only misses are cached\n * here (callers keep their found UIDs); a lookup that throws is not cached.\n */\nexport const cachedSchemaLookup = async (\n key: string,\n lookup: () => Promise<string | undefined>,\n): Promise<string | undefined> => {\n const scopedKey = scopeToEndpoint(key)\n const missExpiresAt = lookupMissExpiresAt.get(scopedKey)\n if (missExpiresAt !== undefined) {\n if (Date.now() < missExpiresAt) return undefined\n lookupMissExpiresAt.delete(scopedKey)\n }\n\n const inFlight = lookupsInFlight.get(scopedKey)\n if (inFlight) return inFlight\n\n const generation = missGeneration\n const request = lookup()\n .then((schemaUid) => {\n if (!schemaUid && generation === missGeneration) {\n lookupMissExpiresAt.set(scopedKey, Date.now() + SCHEMA_LOOKUP_MISS_TTL_MS)\n }\n return schemaUid\n })\n .finally(() => {\n if (lookupsInFlight.get(scopedKey) === request) lookupsInFlight.delete(scopedKey)\n })\n lookupsInFlight.set(scopedKey, request)\n return request\n}\n\n/** Forgets every cached miss, so the next lookups ask EAS again. */\nexport const clearSchemaLookupMisses = (): void => {\n missGeneration++\n lookupMissExpiresAt.clear()\n lookupsInFlight.clear()\n}\n\n/**\n * Forgets the cached misses (and lookups in flight) on the current endpoint whose key `answers`\n * matches. Called when a schema becomes known, with a test for the lookups it would now satisfy.\n * Forgetting every miss here instead made each save that read a stored model UID send all\n * property lookups to EAS again.\n */\nconst forgetMisses = (answers: (key: string) => boolean): void => {\n const prefix = `${currentEndpoint()}\\n`\n const matches = (scopedKey: string) => scopedKey.startsWith(prefix) && answers(scopedKey.slice(prefix.length))\n let forgotInFlight = false\n for (const scopedKey of [...lookupMissExpiresAt.keys()]) {\n if (matches(scopedKey)) lookupMissExpiresAt.delete(scopedKey)\n }\n for (const scopedKey of [...lookupsInFlight.keys()]) {\n if (matches(scopedKey)) {\n lookupsInFlight.delete(scopedKey)\n forgotInFlight = true\n }\n }\n // A lookup in flight for a matching key would otherwise cache its stale miss when it settles.\n if (forgotInFlight) missGeneration++\n}\n\n/** Lookups a schema with this definition answers: by exact definition, or by a name it ends with. */\nconst definitionAnswers = (definition: string) => {\n const snake = toSnakeCase(definition)\n return (key: string) =>\n key === `definition:${definition}` ||\n (key.startsWith('schemaName:') && snake.endsWith(key.slice('schemaName:'.length)))\n}\n\n/** Clears every schema UID cache in this module (found UIDs and misses). For tests. */\nexport const resetSchemaUidCaches = (): void => {\n schemaUidForSchemaDefinition.clear()\n schemaUidForModel.clear()\n schemaUidForExactDefinition.clear()\n clearSchemaLookupMisses()\n}\n\nexport const setSchemaUidForSchemaDefinition = ({\n text,\n schemaUid,\n}: {\n text: string\n schemaUid: string\n}): void => {\n schemaUidForSchemaDefinition.set(toSnakeCase(text), schemaUid)\n // A miss for this definition, or for a name it ends with, may now be found.\n forgetMisses(definitionAnswers(text))\n}\n\nexport const setSchemaUidForModel = ({\n modelName,\n schemaUid,\n}: {\n modelName: string\n schemaUid: string\n}): void => {\n schemaUidForModel.set(modelName.toLowerCase(), schemaUid)\n // getEasSchemaUidForModel looks models up by EAS name.\n const modelKey = `model:${easName(modelName)}`\n forgetMisses((key) => key === modelKey)\n}\n\nexport const getSchemaUidForModelFromCache = (modelName: string): string | undefined =>\n schemaUidForModel.get(modelName.toLowerCase())\n\n/** UID cached for `text` by {@link setSchemaUidForSchemaDefinition} or an earlier lookup; no request. */\nexport const getSchemaUidForSchemaDefinitionFromCache = (text: string): string | undefined =>\n schemaUidForSchemaDefinition.get(toSnakeCase(text))\n\nexport const getEasSchemaUidForSchemaDefinition = async ({\n schemaText,\n}: {\n schemaText: string\n}): Promise<string | undefined> => {\n const textSnakeCase = toSnakeCase(schemaText)\n if (!schemaUidForSchemaDefinition.has(textSnakeCase)) {\n let schemaUid: string | undefined\n try {\n schemaUid = await cachedSchemaLookup(`schemaName:${textSnakeCase}`, () =>\n fetchEasSchemaUidBySchemaName({ schemaName: textSnakeCase }),\n )\n } catch (error) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Failed to fetch schema for schema name ${textSnakeCase}:`, error)\n }\n return undefined\n }\n // Found on EAS, not newly registered: no cached misses to clear.\n if (schemaUid) schemaUidForSchemaDefinition.set(textSnakeCase, schemaUid)\n return schemaUid\n }\n return schemaUidForSchemaDefinition.get(textSnakeCase)\n}\n\n/**\n * UID of the EAS schema whose definition is exactly `schemaDefinition` (e.g. `string title`), or\n * undefined when EAS has none or the EAS clients aren't configured. Found UIDs and misses are\n * cached (see SCHEMA_LOOKUP_MISS_TTL_MS). Throws when the request fails.\n */\nexport const getEasSchemaUidForExactDefinition = async (\n schemaDefinition: string,\n): Promise<string | undefined> => {\n const key = scopeToEndpoint(schemaDefinition)\n const cached = schemaUidForExactDefinition.get(key)\n if (cached) return cached\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n if (!queryClient || !easClient) return undefined\n\n const schemaUid = await cachedSchemaLookup(`definition:${schemaDefinition}`, async () => {\n const queryResult = await queryClient.fetchQuery({\n queryKey: ['getSchemaByDefinition', schemaDefinition],\n queryFn: async () =>\n easClient.request(GET_SCHEMA_BY_NAME, {\n where: { schema: { equals: schemaDefinition } },\n }),\n })\n // Handle both { schemas: [...] } and { data: { schemas: [...] } } formats\n const schemas =\n (queryResult as { schemas?: Array<{ id: string }> })?.schemas ??\n (queryResult as { data?: { schemas?: Array<{ id: string }> } })?.data?.schemas\n return Array.isArray(schemas) && schemas.length > 0 ? schemas[0]!.id : undefined\n })\n if (schemaUid) schemaUidForExactDefinition.set(key, schemaUid)\n return schemaUid\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["types.AttestationFieldsFragmentDoc","types.SchemaFieldsFragmentDoc","types.GetSchemasDocument","types.GetSchemaByNameDocument","types.GetSeedsDocument","types.GetSeedsLeanDocument","types.GetDomainOwnershipsDocument","types.GetSeedIdsDocument","types.GetStorageTransactionIdDocument","types.GetVersionsDocument","types.GetPropertiesDocument","types.GetAllPropertiesForAllVersionsDocument","types.GetFilesMetadataDocument","types.GetImageSeedsDocument","types.GetImageVersionsDocument","types.GetAttestationChangesDocument","asBytes32","asString","asUint64","asBytes32","asString","DuplicateEasModuleError","BaseEasClient","resetEasClientOwnerForTests","OP_STACK_SCHEMA_REGISTRY_ADDRESS","timedFetchQuery","resolveEasChainDeployment","getEasEndpoint","isEasReadChainSettled","resetEasReadChain","OP_STACK_EAS_CONTRACT_ADDRESS","EAS_CHAIN_DEPLOYMENTS","createEasGraphQLClient","getEasReadChainId","DEFAULT_EAS_CHAIN_ID","DefaultEasClient","configureEasReadChain","whenEasReadChainSettled","EAS_REQUEST_TIMEOUT_MS","expectEasReadChain","DefaultQueryClient","isEasReadChainConfigured","getEasAttestationExplorerUrl","assertSingleEasModule","BaseQueryClient","getEasChainDeployment","keccak256Hex","bytes","data","utf8ToBytes","bytesToHex","keccak_256","toSnakeCase","str","checksumAddress","addr","address","hash","result","i","pickNewestPerKey","byKey","att","attestations","sid","key","existing","t","t0","pickLatestPropertyAttestationsByRefAndSchema","live","options","revoked","partitionByRefAttester","attesterByUid","parent","parents","kept","foreign","child","children","parentAttester","keepAttestationsFromRefAttester","withExcludeRevokedFilter","revokedFilter","existingAnd","where","ZERO_ADDRESS","ZERO_BYTES","ZERO_BYTES32","EAS_ENDPOINT","VERSION_SCHEMA_DEF","VERSION_SCHEMA_UID","documents","\"kind\"","\"definitions\"","\"name\"","\"value\"","\"typeCondition\"","\"selectionSet\"","\"selections\"","\"operation\"","\"variableDefinitions\"","\"variable\"","\"type\"","\"alias\"","\"arguments\"","\"values\"","\"fields\"","graphql","source","GET_SCHEMAS","GET_SCHEMA_BY_NAME","GET_SEEDS","GET_SEEDS_LEAN","GET_DOMAIN_OWNERSHIPS","GET_SEED_IDS","GET_STORAGE_TRANSACTION_ID","GET_VERSIONS","GET_PROPERTIES","GET_ALL_PROPERTIES_FOR_ALL_VERSIONS","GET_FILES_METADATA","GET_IMAGE_SEEDS","GET_IMAGE_VERSIONS","GET_ATTESTATION_CHANGES","getItemVersionsFromEas","queryClient","easClient","versionsOfSeeds","seedUids","excludeRevoked","itemVersions","getItemPropertiesFromEas","versionUids","itemProperties","getCanonicalItemPropertiesFromEas","checkAttesters","p","v","knownSeedUids","itemSeeds","seed","trustedVersions","version","trustedVersionUids","property","fetchEasSchemaUidBySchemaName","schemaName","schemas","getEasSchemaUidBySchemaName","error","getSeedsFromSchemaUids","addresses","a","schemaUids","getSeedsBySchemaName","skipVal","skip","uidPrefix","variables","limit","withSchemaNames","names","schemaNamesBySchemaUid","schemaNamesCacheKey","endpoint","schemaUid","resetSchemaNamesCache","getSchemaNamesBySchemaUids","missing","uid","cached","byLowerUid","schema","n","getSeedsByUidsFromEas","uids","seeds","namesBySchemaUid","CHANGES_UIDS_PER_REQUEST","getAttestationChangesSince","changedSince","since","filters","pushChunks","unique","field","refUIDs","ids","responses","filter","byId","change","changes","getSeedUidsBySchemaName","isPlaceholderUid","value","isValidEasAttestationUid","hex","normalizeBytes32Hex","raw","DOMAIN_OWNERSHIP_SCHEMA_DEF","DOMAIN_OWNERSHIP_SCHEMA_NAME","DOMAIN_OWNERSHIP_METHOD","DOMAIN_OWNERSHIP_SCOPE_REGISTRABLE","DOMAIN_OWNERSHIP_SCOPE_HOSTNAME","DOMAIN_OWNERSHIP_TXT_LABEL","DOMAIN_OWNERSHIP_CHALLENGE_TTL_MS","DOMAIN_OWNERSHIP_SOFT_STALE_MS","DOMAIN_OWNERSHIP_DEFAULT_EXPIRATION_SECS","utf8Bytes","s","normalizeDomain","domain","normalizeClaimer","trimmed","claimer","domainOwnershipTxtName","buildDomainOwnershipTxtValue","params","parseDomainOwnershipTxtValue","parts","segment","idx","val","token","expiry","hashDomainOwnershipChallenge","scope","hashDomainRegistryFingerprint","payload","input","asBytes32$2","asString$2","asUint64$1","decodeDomainOwnershipData","fields","byName","f","isoToUnixSeconds","iso","ms","assessDomainOwnership","nowSec","warnings","softStaleMs","easExp","registryExp","nowMs","verifiedAtMs","normalizeDomainFilter","getDomainOwnershipFromEas","toolAddresses","attesterAddresses","claimers","domains","c","domainOwnerships","want","decoded","row","PUBLISH_AUTHORIZATION_SCHEMA_DEF","PUBLISH_AUTHORIZATION_SCHEMA_NAME","PUBLISH_AUTHORIZATION_SCOPES","PUBLISH_AUTHORIZATION_DEFAULT_EXPIRATION_SECS","normalizeAddress","asBytes32$1","asString$1","asUint64","decodePublishAuthorizationData","assessPublishAuthorization","expectedScopes","grantExp","hashPublishAuthorizationMaterial","material","getPublishAuthorizationFromEas","identities","sessionKeys","apps","easName","name","NAME_MATCH_LEVELS","isNameMatchLevel","TIER_RANK","DEFAULT_NAME_MATCH_LEVEL","normalizedNameKey","fuzzyNameKey","nameMatchTier","localName","isNameMatchAllowed","tier","level","compareNameMatchTiers","b","matchEasName","best","values","candidate","candidates","localNamesInBestMatchTier","levelOf","localNames","easNameVariants","legacy","easNamesToFetch","variant","INTEGER","HEX","isNumericEasType","easType","fromHex","match","decodeEasNumber","isEasEmptyValue","PUBLISHED_BY_SCHEMA_DEF","PUBLISHED_BY_SCHEMA_NAME","hexToBytes","body","out","hashPublishedByBatch","sorted","u","packed","verifyPublishedByBatch","asBytes32","asString","decodePublishedByData","rawUids","attestationUids","getPublishedByFromEas","ensureEasPlatform","schemaUidForSchemaDefinition","schemaUidForModel","SCHEMA_LOOKUP_MISS_TTL_MS","schemaUidForExactDefinition","lookupMissExpiresAt","lookupsInFlight","missGeneration","currentEndpoint","scopeToEndpoint","cachedSchemaLookup","scopedKey","missExpiresAt","inFlight","generation","request","lookup","clearSchemaLookupMisses","forgetMisses","prefix","matches","answers","forgotInFlight","definitionAnswers","snake","definition","resetSchemaUidCaches","setSchemaUidForSchemaDefinition","text","setSchemaUidForModel","modelName","modelKey","getSchemaUidForModelFromCache","getSchemaUidForSchemaDefinitionFromCache","getEasSchemaUidForSchemaDefinition","textSnakeCase","schemaText","getEasSchemaUidForExactDefinition","schemaDefinition","queryResult"],"sources":["../src/keccak.ts","../src/utils.ts","../src/easPropertyCanonical.ts","../src/easRefAttester.ts","../src/easRevokedFilter.ts","../src/constants.ts","../src/graphql/gql/graphql.ts","../src/graphql/gql/gql.ts","../src/queries.ts","../src/api.ts","../src/easUid.ts","../src/domainOwnershipHelpers.ts","../src/domainOwnership.ts","../src/publishAuthorizationHelpers.ts","../src/publishAuthorization.ts","../src/easNames.ts","../src/easValues.ts","../src/publishedByHelpers.ts","../src/publishedBy.ts","../src/default/index.ts","../src/stores/schemaUidCache.ts"],"sourcesContent":["import { keccak_256 } from '@noble/hashes/sha3'\nimport { bytesToHex, utf8ToBytes } from '@noble/hashes/utils'\n\n/** keccak-256 hex (no 0x), matching js-sha3 `keccak256`. */\nexport function keccak256Hex(data: string | Uint8Array): string {\n const bytes = typeof data === 'string' ? utf8ToBytes(data) : data\n return bytesToHex(keccak_256(bytes))\n}\n","import { keccak256Hex } from './keccak.js'\n\nexport const toSnakeCase = (str: string): string =>\n str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase()\n\n/** EIP-55 checksum for a 20-byte hex address (with or without 0x prefix). */\nexport function checksumAddress(address: string): string {\n const addr = address.toLowerCase().replace(/^0x/, '')\n if (addr.length !== 40 || !/^[0-9a-f]+$/.test(addr)) {\n return address\n }\n const hash = keccak256Hex(addr)\n let result = '0x'\n for (let i = 0; i < 40; i++) {\n result += parseInt(hash[i]!, 16) >= 8 ? addr[i]!.toUpperCase() : addr[i]!\n }\n return result\n}\n","/**\n * When multiple property attestations exist for the same Version (refUID) and schema\n * (e.g. after a same-Version patch publish), the canonical value is the **newest**\n * non-revoked attestation: greatest `timeCreated` per `(refUID, schemaId)`.\n * Revoked attestations are ignored, even when they are newer. On equal `timeCreated`\n * the first one in input order wins; a missing `timeCreated` counts as 0.\n *\n * Use this after `getItemPropertiesFromEas` (or any flat list) before displaying\n * values or writing to DB so duplicate schemas resolve to one row.\n */\nexport type AttestationLikeForCanonical = {\n schemaId?: string | null\n timeCreated?: number | null\n refUID?: string | null\n revoked?: boolean | null\n}\n\nexport type PickLatestPropertyAttestationsOptions = {\n /**\n * What to return for a `(refUID, schemaId)` whose attestations are **all** revoked.\n * - `'omit'` (default): nothing; the property has no canonical attestation.\n * - `'newestRevoked'`: the newest revoked attestation. Sync uses this so a fully\n * revoked (unpublished) item keeps its last values locally, alongside the seed row\n * that records `revokedAt`.\n */\n ifAllRevoked?: 'omit' | 'newestRevoked'\n}\n\nconst pickNewestPerKey = <T extends AttestationLikeForCanonical>(\n attestations: T[],\n): Map<string, T> => {\n const byKey = new Map<string, T>()\n for (const att of attestations) {\n const sid = att.schemaId\n if (!sid) continue\n const key = `${att.refUID ?? ''}:${sid}`\n const existing = byKey.get(key)\n const t = att.timeCreated ?? 0\n const t0 = existing?.timeCreated ?? 0\n if (!existing || t > t0) {\n byKey.set(key, att)\n }\n }\n return byKey\n}\n\nexport function pickLatestPropertyAttestationsByRefAndSchema<\n T extends AttestationLikeForCanonical,\n>(attestations: T[], options?: PickLatestPropertyAttestationsOptions): T[] {\n const live = pickNewestPerKey(attestations.filter((att) => !att.revoked))\n if (options?.ifAllRevoked !== 'newestRevoked') {\n return [...live.values()]\n }\n const revoked = pickNewestPerKey(attestations.filter((att) => att.revoked))\n for (const [key, att] of revoked) {\n if (!live.has(key)) live.set(key, att)\n }\n return [...live.values()]\n}\n","/**\n * EAS lets any account attest with any `refUID`: it only checks that the referenced attestation\n * exists, and Seed's schemas have no resolver. So another account can attest a Version that\n * references someone's Seed, or a property that references someone's Version, and as the newest\n * attestation it would win the canonical pick.\n *\n * A Version counts only when its attester is the Seed's attester, and a property only when its\n * attester is the Version's. Attesters are compared case-insensitively. A child whose parent isn't\n * among `parents`, or where either attester is unknown (local drafts have none), is kept: there is\n * nothing to compare it with.\n */\nexport type RefAttesterParentLike = {\n id: string\n attester?: string | null\n}\n\nexport type RefAttesterChildLike = {\n refUID?: string | null\n attester?: string | null\n}\n\nexport function partitionByRefAttester<T extends RefAttesterChildLike>(\n children: T[],\n parents: Iterable<RefAttesterParentLike>,\n): { kept: T[]; foreign: T[] } {\n const attesterByUid = new Map<string, string>()\n for (const parent of parents) {\n if (parent.attester) attesterByUid.set(parent.id, parent.attester.toLowerCase())\n }\n\n const kept: T[] = []\n const foreign: T[] = []\n for (const child of children) {\n const parentAttester = child.refUID ? attesterByUid.get(child.refUID) : undefined\n if (parentAttester && child.attester && child.attester.toLowerCase() !== parentAttester) {\n foreign.push(child)\n } else {\n kept.push(child)\n }\n }\n return { kept, foreign }\n}\n\n/** The `kept` half of {@link partitionByRefAttester}. */\nexport function keepAttestationsFromRefAttester<T extends RefAttesterChildLike>(\n children: T[],\n parents: Iterable<RefAttesterParentLike>,\n): T[] {\n return partitionByRefAttester(children, parents).kept\n}\n","/**\n * Merges `revoked: { equals: false }` into an EAS AttestationWhereInput\n * so revoked attestations are excluded from discovery/feed queries.\n *\n * Uses AND to combine with existing conditions without overwriting them.\n */\nexport function withExcludeRevokedFilter<T extends Record<string, unknown>>(\n where: T,\n): T & { AND?: unknown[] } {\n const revokedFilter = { revoked: { equals: false } }\n const existingAnd = Array.isArray(where.AND) ? where.AND : []\n return {\n ...where,\n AND: [...existingAnd, revokedFilter],\n } as T & { AND: unknown[] }\n}\n","export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'\nexport const ZERO_BYTES = '0x'\nexport const ZERO_BYTES32 =\n '0x0000000000000000000000000000000000000000000000000000000000000000'\n\n/**\n * @deprecated Evaluated once at import and ignores SDK / publish chain config. Use `getEasEndpoint()`.\n */\nexport const EAS_ENDPOINT =\n (typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_EAS_ENDPOINT) ||\n (typeof process !== 'undefined' && process.env?.EAS_ENDPOINT) ||\n 'https://optimism-sepolia.easscan.org/graphql'\n\n/** Schema definition of the Version attestation (zero resolver, revocable). */\nexport const VERSION_SCHEMA_DEF = 'bytes32 version'\n\n/**\n * UID of {@link VERSION_SCHEMA_DEF}. Schema UIDs hash the definition, resolver and revocable flag,\n * so this is the same on every chain; the schema must still be registered on each one.\n */\nexport const VERSION_SCHEMA_UID =\n '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6'\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = T | null | undefined;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n};\n\nexport type AffectedRowsOutput = {\n __typename?: 'AffectedRowsOutput';\n count: Scalars['Int']['output'];\n};\n\nexport type AggregateAttestation = {\n __typename?: 'AggregateAttestation';\n _avg?: Maybe<AttestationAvgAggregate>;\n _count?: Maybe<AttestationCountAggregate>;\n _max?: Maybe<AttestationMaxAggregate>;\n _min?: Maybe<AttestationMinAggregate>;\n _sum?: Maybe<AttestationSumAggregate>;\n};\n\nexport type AggregateEnsName = {\n __typename?: 'AggregateEnsName';\n _avg?: Maybe<EnsNameAvgAggregate>;\n _count?: Maybe<EnsNameCountAggregate>;\n _max?: Maybe<EnsNameMaxAggregate>;\n _min?: Maybe<EnsNameMinAggregate>;\n _sum?: Maybe<EnsNameSumAggregate>;\n};\n\nexport type AggregateOffchainRevocation = {\n __typename?: 'AggregateOffchainRevocation';\n _avg?: Maybe<OffchainRevocationAvgAggregate>;\n _count?: Maybe<OffchainRevocationCountAggregate>;\n _max?: Maybe<OffchainRevocationMaxAggregate>;\n _min?: Maybe<OffchainRevocationMinAggregate>;\n _sum?: Maybe<OffchainRevocationSumAggregate>;\n};\n\nexport type AggregateSchema = {\n __typename?: 'AggregateSchema';\n _avg?: Maybe<SchemaAvgAggregate>;\n _count?: Maybe<SchemaCountAggregate>;\n _max?: Maybe<SchemaMaxAggregate>;\n _min?: Maybe<SchemaMinAggregate>;\n _sum?: Maybe<SchemaSumAggregate>;\n};\n\nexport type AggregateSchemaName = {\n __typename?: 'AggregateSchemaName';\n _avg?: Maybe<SchemaNameAvgAggregate>;\n _count?: Maybe<SchemaNameCountAggregate>;\n _max?: Maybe<SchemaNameMaxAggregate>;\n _min?: Maybe<SchemaNameMinAggregate>;\n _sum?: Maybe<SchemaNameSumAggregate>;\n};\n\nexport type AggregateServiceStat = {\n __typename?: 'AggregateServiceStat';\n _count?: Maybe<ServiceStatCountAggregate>;\n _max?: Maybe<ServiceStatMaxAggregate>;\n _min?: Maybe<ServiceStatMinAggregate>;\n};\n\nexport type AggregateTimestamp = {\n __typename?: 'AggregateTimestamp';\n _avg?: Maybe<TimestampAvgAggregate>;\n _count?: Maybe<TimestampCountAggregate>;\n _max?: Maybe<TimestampMaxAggregate>;\n _min?: Maybe<TimestampMinAggregate>;\n _sum?: Maybe<TimestampSumAggregate>;\n};\n\nexport type Attestation = {\n __typename?: 'Attestation';\n attester: Scalars['String']['output'];\n data: Scalars['String']['output'];\n decodedDataJson: Scalars['String']['output'];\n expirationTime: Scalars['Int']['output'];\n id: Scalars['String']['output'];\n ipfsHash: Scalars['String']['output'];\n isOffchain: Scalars['Boolean']['output'];\n recipient: Scalars['String']['output'];\n refUID: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n revocationTime: Scalars['Int']['output'];\n revoked: Scalars['Boolean']['output'];\n schema: Schema;\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n timeCreated: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type AttestationAvgAggregate = {\n __typename?: 'AttestationAvgAggregate';\n expirationTime?: Maybe<Scalars['Float']['output']>;\n revocationTime?: Maybe<Scalars['Float']['output']>;\n time?: Maybe<Scalars['Float']['output']>;\n timeCreated?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type AttestationAvgOrderByAggregateInput = {\n expirationTime?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationCountAggregate = {\n __typename?: 'AttestationCountAggregate';\n _all: Scalars['Int']['output'];\n attester: Scalars['Int']['output'];\n data: Scalars['Int']['output'];\n decodedDataJson: Scalars['Int']['output'];\n expirationTime: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n ipfsHash: Scalars['Int']['output'];\n isOffchain: Scalars['Int']['output'];\n recipient: Scalars['Int']['output'];\n refUID: Scalars['Int']['output'];\n revocable: Scalars['Int']['output'];\n revocationTime: Scalars['Int']['output'];\n revoked: Scalars['Int']['output'];\n schemaId: Scalars['Int']['output'];\n time: Scalars['Int']['output'];\n timeCreated: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n};\n\nexport type AttestationCountOrderByAggregateInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationCreateInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n schema: SchemaCreateNestedOneWithoutAttestationsInput;\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationCreateManyInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n schemaId: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationCreateManySchemaInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationCreateManySchemaInputEnvelope = {\n data: Array<AttestationCreateManySchemaInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type AttestationCreateNestedManyWithoutSchemaInput = {\n connect?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<AttestationCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<AttestationCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<AttestationCreateManySchemaInputEnvelope>;\n};\n\nexport type AttestationCreateOrConnectWithoutSchemaInput = {\n create: AttestationCreateWithoutSchemaInput;\n where: AttestationWhereUniqueInput;\n};\n\nexport type AttestationCreateWithoutSchemaInput = {\n attester: Scalars['String']['input'];\n data: Scalars['String']['input'];\n decodedDataJson?: InputMaybe<Scalars['String']['input']>;\n expirationTime: Scalars['Int']['input'];\n id: Scalars['String']['input'];\n ipfsHash: Scalars['String']['input'];\n isOffchain: Scalars['Boolean']['input'];\n recipient: Scalars['String']['input'];\n refUID: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n revocationTime: Scalars['Int']['input'];\n revoked: Scalars['Boolean']['input'];\n time: Scalars['Int']['input'];\n timeCreated: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type AttestationGroupBy = {\n __typename?: 'AttestationGroupBy';\n _avg?: Maybe<AttestationAvgAggregate>;\n _count?: Maybe<AttestationCountAggregate>;\n _max?: Maybe<AttestationMaxAggregate>;\n _min?: Maybe<AttestationMinAggregate>;\n _sum?: Maybe<AttestationSumAggregate>;\n attester: Scalars['String']['output'];\n data: Scalars['String']['output'];\n decodedDataJson: Scalars['String']['output'];\n expirationTime: Scalars['Int']['output'];\n id: Scalars['String']['output'];\n ipfsHash: Scalars['String']['output'];\n isOffchain: Scalars['Boolean']['output'];\n recipient: Scalars['String']['output'];\n refUID: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n revocationTime: Scalars['Int']['output'];\n revoked: Scalars['Boolean']['output'];\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n timeCreated: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type AttestationListRelationFilter = {\n every?: InputMaybe<AttestationWhereInput>;\n none?: InputMaybe<AttestationWhereInput>;\n some?: InputMaybe<AttestationWhereInput>;\n};\n\nexport type AttestationMaxAggregate = {\n __typename?: 'AttestationMaxAggregate';\n attester?: Maybe<Scalars['String']['output']>;\n data?: Maybe<Scalars['String']['output']>;\n decodedDataJson?: Maybe<Scalars['String']['output']>;\n expirationTime?: Maybe<Scalars['Int']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n ipfsHash?: Maybe<Scalars['String']['output']>;\n isOffchain?: Maybe<Scalars['Boolean']['output']>;\n recipient?: Maybe<Scalars['String']['output']>;\n refUID?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n revocationTime?: Maybe<Scalars['Int']['output']>;\n revoked?: Maybe<Scalars['Boolean']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n timeCreated?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AttestationMaxOrderByAggregateInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationMinAggregate = {\n __typename?: 'AttestationMinAggregate';\n attester?: Maybe<Scalars['String']['output']>;\n data?: Maybe<Scalars['String']['output']>;\n decodedDataJson?: Maybe<Scalars['String']['output']>;\n expirationTime?: Maybe<Scalars['Int']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n ipfsHash?: Maybe<Scalars['String']['output']>;\n isOffchain?: Maybe<Scalars['Boolean']['output']>;\n recipient?: Maybe<Scalars['String']['output']>;\n refUID?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n revocationTime?: Maybe<Scalars['Int']['output']>;\n revoked?: Maybe<Scalars['Boolean']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n timeCreated?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AttestationMinOrderByAggregateInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationOrderByRelationAggregateInput = {\n _count?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationOrderByWithAggregationInput = {\n _avg?: InputMaybe<AttestationAvgOrderByAggregateInput>;\n _count?: InputMaybe<AttestationCountOrderByAggregateInput>;\n _max?: InputMaybe<AttestationMaxOrderByAggregateInput>;\n _min?: InputMaybe<AttestationMinOrderByAggregateInput>;\n _sum?: InputMaybe<AttestationSumOrderByAggregateInput>;\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationOrderByWithRelationInput = {\n attester?: InputMaybe<SortOrder>;\n data?: InputMaybe<SortOrder>;\n decodedDataJson?: InputMaybe<SortOrder>;\n expirationTime?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n ipfsHash?: InputMaybe<SortOrder>;\n isOffchain?: InputMaybe<SortOrder>;\n recipient?: InputMaybe<SortOrder>;\n refUID?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n revoked?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SchemaOrderByWithRelationInput>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport enum AttestationScalarFieldEnum {\n Attester = 'attester',\n Data = 'data',\n DecodedDataJson = 'decodedDataJson',\n ExpirationTime = 'expirationTime',\n Id = 'id',\n IpfsHash = 'ipfsHash',\n IsOffchain = 'isOffchain',\n Recipient = 'recipient',\n RefUid = 'refUID',\n Revocable = 'revocable',\n RevocationTime = 'revocationTime',\n Revoked = 'revoked',\n SchemaId = 'schemaId',\n Time = 'time',\n TimeCreated = 'timeCreated',\n Txid = 'txid'\n}\n\nexport type AttestationScalarWhereInput = {\n AND?: InputMaybe<Array<AttestationScalarWhereInput>>;\n NOT?: InputMaybe<Array<AttestationScalarWhereInput>>;\n OR?: InputMaybe<Array<AttestationScalarWhereInput>>;\n attester?: InputMaybe<StringFilter>;\n data?: InputMaybe<StringFilter>;\n decodedDataJson?: InputMaybe<StringFilter>;\n expirationTime?: InputMaybe<IntFilter>;\n id?: InputMaybe<StringFilter>;\n ipfsHash?: InputMaybe<StringFilter>;\n isOffchain?: InputMaybe<BoolFilter>;\n recipient?: InputMaybe<StringFilter>;\n refUID?: InputMaybe<StringFilter>;\n revocable?: InputMaybe<BoolFilter>;\n revocationTime?: InputMaybe<IntFilter>;\n revoked?: InputMaybe<BoolFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n timeCreated?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type AttestationScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<AttestationScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<AttestationScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<AttestationScalarWhereWithAggregatesInput>>;\n attester?: InputMaybe<StringWithAggregatesFilter>;\n data?: InputMaybe<StringWithAggregatesFilter>;\n decodedDataJson?: InputMaybe<StringWithAggregatesFilter>;\n expirationTime?: InputMaybe<IntWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n ipfsHash?: InputMaybe<StringWithAggregatesFilter>;\n isOffchain?: InputMaybe<BoolWithAggregatesFilter>;\n recipient?: InputMaybe<StringWithAggregatesFilter>;\n refUID?: InputMaybe<StringWithAggregatesFilter>;\n revocable?: InputMaybe<BoolWithAggregatesFilter>;\n revocationTime?: InputMaybe<IntWithAggregatesFilter>;\n revoked?: InputMaybe<BoolWithAggregatesFilter>;\n schemaId?: InputMaybe<StringWithAggregatesFilter>;\n time?: InputMaybe<IntWithAggregatesFilter>;\n timeCreated?: InputMaybe<IntWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type AttestationSumAggregate = {\n __typename?: 'AttestationSumAggregate';\n expirationTime?: Maybe<Scalars['Int']['output']>;\n revocationTime?: Maybe<Scalars['Int']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n timeCreated?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type AttestationSumOrderByAggregateInput = {\n expirationTime?: InputMaybe<SortOrder>;\n revocationTime?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n timeCreated?: InputMaybe<SortOrder>;\n};\n\nexport type AttestationUpdateInput = {\n attester?: InputMaybe<StringFieldUpdateOperationsInput>;\n data?: InputMaybe<StringFieldUpdateOperationsInput>;\n decodedDataJson?: InputMaybe<StringFieldUpdateOperationsInput>;\n expirationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n ipfsHash?: InputMaybe<StringFieldUpdateOperationsInput>;\n isOffchain?: InputMaybe<BoolFieldUpdateOperationsInput>;\n recipient?: InputMaybe<StringFieldUpdateOperationsInput>;\n refUID?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n revocationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n revoked?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<SchemaUpdateOneRequiredWithoutAttestationsNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n timeCreated?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type AttestationUpdateManyMutationInput = {\n attester?: InputMaybe<StringFieldUpdateOperationsInput>;\n data?: InputMaybe<StringFieldUpdateOperationsInput>;\n decodedDataJson?: InputMaybe<StringFieldUpdateOperationsInput>;\n expirationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n ipfsHash?: InputMaybe<StringFieldUpdateOperationsInput>;\n isOffchain?: InputMaybe<BoolFieldUpdateOperationsInput>;\n recipient?: InputMaybe<StringFieldUpdateOperationsInput>;\n refUID?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n revocationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n revoked?: InputMaybe<BoolFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n timeCreated?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type AttestationUpdateManyWithWhereWithoutSchemaInput = {\n data: AttestationUpdateManyMutationInput;\n where: AttestationScalarWhereInput;\n};\n\nexport type AttestationUpdateManyWithoutSchemaNestedInput = {\n connect?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<AttestationCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<AttestationCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<AttestationCreateManySchemaInputEnvelope>;\n delete?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n deleteMany?: InputMaybe<Array<AttestationScalarWhereInput>>;\n disconnect?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n set?: InputMaybe<Array<AttestationWhereUniqueInput>>;\n update?: InputMaybe<Array<AttestationUpdateWithWhereUniqueWithoutSchemaInput>>;\n updateMany?: InputMaybe<Array<AttestationUpdateManyWithWhereWithoutSchemaInput>>;\n upsert?: InputMaybe<Array<AttestationUpsertWithWhereUniqueWithoutSchemaInput>>;\n};\n\nexport type AttestationUpdateWithWhereUniqueWithoutSchemaInput = {\n data: AttestationUpdateWithoutSchemaInput;\n where: AttestationWhereUniqueInput;\n};\n\nexport type AttestationUpdateWithoutSchemaInput = {\n attester?: InputMaybe<StringFieldUpdateOperationsInput>;\n data?: InputMaybe<StringFieldUpdateOperationsInput>;\n decodedDataJson?: InputMaybe<StringFieldUpdateOperationsInput>;\n expirationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n ipfsHash?: InputMaybe<StringFieldUpdateOperationsInput>;\n isOffchain?: InputMaybe<BoolFieldUpdateOperationsInput>;\n recipient?: InputMaybe<StringFieldUpdateOperationsInput>;\n refUID?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n revocationTime?: InputMaybe<IntFieldUpdateOperationsInput>;\n revoked?: InputMaybe<BoolFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n timeCreated?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type AttestationUpsertWithWhereUniqueWithoutSchemaInput = {\n create: AttestationCreateWithoutSchemaInput;\n update: AttestationUpdateWithoutSchemaInput;\n where: AttestationWhereUniqueInput;\n};\n\nexport type AttestationWhereInput = {\n AND?: InputMaybe<Array<AttestationWhereInput>>;\n NOT?: InputMaybe<Array<AttestationWhereInput>>;\n OR?: InputMaybe<Array<AttestationWhereInput>>;\n attester?: InputMaybe<StringFilter>;\n data?: InputMaybe<StringFilter>;\n decodedDataJson?: InputMaybe<StringFilter>;\n expirationTime?: InputMaybe<IntFilter>;\n id?: InputMaybe<StringFilter>;\n ipfsHash?: InputMaybe<StringFilter>;\n isOffchain?: InputMaybe<BoolFilter>;\n recipient?: InputMaybe<StringFilter>;\n refUID?: InputMaybe<StringFilter>;\n revocable?: InputMaybe<BoolFilter>;\n revocationTime?: InputMaybe<IntFilter>;\n revoked?: InputMaybe<BoolFilter>;\n schema?: InputMaybe<SchemaRelationFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n timeCreated?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type AttestationWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type BoolFieldUpdateOperationsInput = {\n set?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type BoolFilter = {\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolFilter>;\n};\n\nexport type BoolWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedBoolFilter>;\n _min?: InputMaybe<NestedBoolFilter>;\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolWithAggregatesFilter>;\n};\n\nexport type EnsName = {\n __typename?: 'EnsName';\n id: Scalars['String']['output'];\n name: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n};\n\nexport type EnsNameAvgAggregate = {\n __typename?: 'EnsNameAvgAggregate';\n timestamp?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type EnsNameAvgOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameCountAggregate = {\n __typename?: 'EnsNameCountAggregate';\n _all: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n name: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n};\n\nexport type EnsNameCountOrderByAggregateInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameCreateInput = {\n id: Scalars['String']['input'];\n name: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n};\n\nexport type EnsNameCreateManyInput = {\n id: Scalars['String']['input'];\n name: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n};\n\nexport type EnsNameGroupBy = {\n __typename?: 'EnsNameGroupBy';\n _avg?: Maybe<EnsNameAvgAggregate>;\n _count?: Maybe<EnsNameCountAggregate>;\n _max?: Maybe<EnsNameMaxAggregate>;\n _min?: Maybe<EnsNameMinAggregate>;\n _sum?: Maybe<EnsNameSumAggregate>;\n id: Scalars['String']['output'];\n name: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n};\n\nexport type EnsNameMaxAggregate = {\n __typename?: 'EnsNameMaxAggregate';\n id?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EnsNameMaxOrderByAggregateInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameMinAggregate = {\n __typename?: 'EnsNameMinAggregate';\n id?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EnsNameMinOrderByAggregateInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameOrderByWithAggregationInput = {\n _avg?: InputMaybe<EnsNameAvgOrderByAggregateInput>;\n _count?: InputMaybe<EnsNameCountOrderByAggregateInput>;\n _max?: InputMaybe<EnsNameMaxOrderByAggregateInput>;\n _min?: InputMaybe<EnsNameMinOrderByAggregateInput>;\n _sum?: InputMaybe<EnsNameSumOrderByAggregateInput>;\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameOrderByWithRelationInput = {\n id?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport enum EnsNameScalarFieldEnum {\n Id = 'id',\n Name = 'name',\n Timestamp = 'timestamp'\n}\n\nexport type EnsNameScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<EnsNameScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<EnsNameScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<EnsNameScalarWhereWithAggregatesInput>>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n name?: InputMaybe<StringWithAggregatesFilter>;\n timestamp?: InputMaybe<IntWithAggregatesFilter>;\n};\n\nexport type EnsNameSumAggregate = {\n __typename?: 'EnsNameSumAggregate';\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EnsNameSumOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type EnsNameUpdateInput = {\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type EnsNameUpdateManyMutationInput = {\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type EnsNameWhereInput = {\n AND?: InputMaybe<Array<EnsNameWhereInput>>;\n NOT?: InputMaybe<Array<EnsNameWhereInput>>;\n OR?: InputMaybe<Array<EnsNameWhereInput>>;\n id?: InputMaybe<StringFilter>;\n name?: InputMaybe<StringFilter>;\n timestamp?: InputMaybe<IntFilter>;\n};\n\nexport type EnsNameWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type IntFieldUpdateOperationsInput = {\n decrement?: InputMaybe<Scalars['Int']['input']>;\n divide?: InputMaybe<Scalars['Int']['input']>;\n increment?: InputMaybe<Scalars['Int']['input']>;\n multiply?: InputMaybe<Scalars['Int']['input']>;\n set?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type IntFilter = {\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type IntWithAggregatesFilter = {\n _avg?: InputMaybe<NestedFloatFilter>;\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedIntFilter>;\n _min?: InputMaybe<NestedIntFilter>;\n _sum?: InputMaybe<NestedIntFilter>;\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n createManyAttestation: AffectedRowsOutput;\n createManyEnsName: AffectedRowsOutput;\n createManyOffchainRevocation: AffectedRowsOutput;\n createManySchema: AffectedRowsOutput;\n createManySchemaName: AffectedRowsOutput;\n createManyServiceStat: AffectedRowsOutput;\n createManyTimestamp: AffectedRowsOutput;\n createOneAttestation: Attestation;\n createOneEnsName: EnsName;\n createOneOffchainRevocation: OffchainRevocation;\n createOneSchema: Schema;\n createOneSchemaName: SchemaName;\n createOneServiceStat: ServiceStat;\n createOneTimestamp: Timestamp;\n deleteManyAttestation: AffectedRowsOutput;\n deleteManyEnsName: AffectedRowsOutput;\n deleteManyOffchainRevocation: AffectedRowsOutput;\n deleteManySchema: AffectedRowsOutput;\n deleteManySchemaName: AffectedRowsOutput;\n deleteManyServiceStat: AffectedRowsOutput;\n deleteManyTimestamp: AffectedRowsOutput;\n deleteOneAttestation?: Maybe<Attestation>;\n deleteOneEnsName?: Maybe<EnsName>;\n deleteOneOffchainRevocation?: Maybe<OffchainRevocation>;\n deleteOneSchema?: Maybe<Schema>;\n deleteOneSchemaName?: Maybe<SchemaName>;\n deleteOneServiceStat?: Maybe<ServiceStat>;\n deleteOneTimestamp?: Maybe<Timestamp>;\n updateManyAttestation: AffectedRowsOutput;\n updateManyEnsName: AffectedRowsOutput;\n updateManyOffchainRevocation: AffectedRowsOutput;\n updateManySchema: AffectedRowsOutput;\n updateManySchemaName: AffectedRowsOutput;\n updateManyServiceStat: AffectedRowsOutput;\n updateManyTimestamp: AffectedRowsOutput;\n updateOneAttestation?: Maybe<Attestation>;\n updateOneEnsName?: Maybe<EnsName>;\n updateOneOffchainRevocation?: Maybe<OffchainRevocation>;\n updateOneSchema?: Maybe<Schema>;\n updateOneSchemaName?: Maybe<SchemaName>;\n updateOneServiceStat?: Maybe<ServiceStat>;\n updateOneTimestamp?: Maybe<Timestamp>;\n upsertOneAttestation: Attestation;\n upsertOneEnsName: EnsName;\n upsertOneOffchainRevocation: OffchainRevocation;\n upsertOneSchema: Schema;\n upsertOneSchemaName: SchemaName;\n upsertOneServiceStat: ServiceStat;\n upsertOneTimestamp: Timestamp;\n};\n\n\nexport type MutationCreateManyAttestationArgs = {\n data: Array<AttestationCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyEnsNameArgs = {\n data: Array<EnsNameCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyOffchainRevocationArgs = {\n data: Array<OffchainRevocationCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManySchemaArgs = {\n data: Array<SchemaCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManySchemaNameArgs = {\n data: Array<SchemaNameCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyServiceStatArgs = {\n data: Array<ServiceStatCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateManyTimestampArgs = {\n data: Array<TimestampCreateManyInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationCreateOneAttestationArgs = {\n data: AttestationCreateInput;\n};\n\n\nexport type MutationCreateOneEnsNameArgs = {\n data: EnsNameCreateInput;\n};\n\n\nexport type MutationCreateOneOffchainRevocationArgs = {\n data: OffchainRevocationCreateInput;\n};\n\n\nexport type MutationCreateOneSchemaArgs = {\n data: SchemaCreateInput;\n};\n\n\nexport type MutationCreateOneSchemaNameArgs = {\n data: SchemaNameCreateInput;\n};\n\n\nexport type MutationCreateOneServiceStatArgs = {\n data: ServiceStatCreateInput;\n};\n\n\nexport type MutationCreateOneTimestampArgs = {\n data: TimestampCreateInput;\n};\n\n\nexport type MutationDeleteManyAttestationArgs = {\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type MutationDeleteManyEnsNameArgs = {\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type MutationDeleteManyOffchainRevocationArgs = {\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type MutationDeleteManySchemaArgs = {\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type MutationDeleteManySchemaNameArgs = {\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type MutationDeleteManyServiceStatArgs = {\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type MutationDeleteManyTimestampArgs = {\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type MutationDeleteOneAttestationArgs = {\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneEnsNameArgs = {\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneOffchainRevocationArgs = {\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneSchemaArgs = {\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneSchemaNameArgs = {\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneServiceStatArgs = {\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type MutationDeleteOneTimestampArgs = {\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type MutationUpdateManyAttestationArgs = {\n data: AttestationUpdateManyMutationInput;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type MutationUpdateManyEnsNameArgs = {\n data: EnsNameUpdateManyMutationInput;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type MutationUpdateManyOffchainRevocationArgs = {\n data: OffchainRevocationUpdateManyMutationInput;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type MutationUpdateManySchemaArgs = {\n data: SchemaUpdateManyMutationInput;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type MutationUpdateManySchemaNameArgs = {\n data: SchemaNameUpdateManyMutationInput;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type MutationUpdateManyServiceStatArgs = {\n data: ServiceStatUpdateManyMutationInput;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type MutationUpdateManyTimestampArgs = {\n data: TimestampUpdateManyMutationInput;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type MutationUpdateOneAttestationArgs = {\n data: AttestationUpdateInput;\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneEnsNameArgs = {\n data: EnsNameUpdateInput;\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneOffchainRevocationArgs = {\n data: OffchainRevocationUpdateInput;\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneSchemaArgs = {\n data: SchemaUpdateInput;\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneSchemaNameArgs = {\n data: SchemaNameUpdateInput;\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneServiceStatArgs = {\n data: ServiceStatUpdateInput;\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type MutationUpdateOneTimestampArgs = {\n data: TimestampUpdateInput;\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneAttestationArgs = {\n create: AttestationCreateInput;\n update: AttestationUpdateInput;\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneEnsNameArgs = {\n create: EnsNameCreateInput;\n update: EnsNameUpdateInput;\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneOffchainRevocationArgs = {\n create: OffchainRevocationCreateInput;\n update: OffchainRevocationUpdateInput;\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneSchemaArgs = {\n create: SchemaCreateInput;\n update: SchemaUpdateInput;\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneSchemaNameArgs = {\n create: SchemaNameCreateInput;\n update: SchemaNameUpdateInput;\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneServiceStatArgs = {\n create: ServiceStatCreateInput;\n update: ServiceStatUpdateInput;\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type MutationUpsertOneTimestampArgs = {\n create: TimestampCreateInput;\n update: TimestampUpdateInput;\n where: TimestampWhereUniqueInput;\n};\n\nexport type NestedBoolFilter = {\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolFilter>;\n};\n\nexport type NestedBoolWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedBoolFilter>;\n _min?: InputMaybe<NestedBoolFilter>;\n equals?: InputMaybe<Scalars['Boolean']['input']>;\n not?: InputMaybe<NestedBoolWithAggregatesFilter>;\n};\n\nexport type NestedFloatFilter = {\n equals?: InputMaybe<Scalars['Float']['input']>;\n gt?: InputMaybe<Scalars['Float']['input']>;\n gte?: InputMaybe<Scalars['Float']['input']>;\n in?: InputMaybe<Array<Scalars['Float']['input']>>;\n lt?: InputMaybe<Scalars['Float']['input']>;\n lte?: InputMaybe<Scalars['Float']['input']>;\n not?: InputMaybe<NestedFloatFilter>;\n notIn?: InputMaybe<Array<Scalars['Float']['input']>>;\n};\n\nexport type NestedIntFilter = {\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type NestedIntWithAggregatesFilter = {\n _avg?: InputMaybe<NestedFloatFilter>;\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedIntFilter>;\n _min?: InputMaybe<NestedIntFilter>;\n _sum?: InputMaybe<NestedIntFilter>;\n equals?: InputMaybe<Scalars['Int']['input']>;\n gt?: InputMaybe<Scalars['Int']['input']>;\n gte?: InputMaybe<Scalars['Int']['input']>;\n in?: InputMaybe<Array<Scalars['Int']['input']>>;\n lt?: InputMaybe<Scalars['Int']['input']>;\n lte?: InputMaybe<Scalars['Int']['input']>;\n not?: InputMaybe<NestedIntWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\nexport type NestedStringFilter = {\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n not?: InputMaybe<NestedStringFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type NestedStringWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedStringFilter>;\n _min?: InputMaybe<NestedStringFilter>;\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n not?: InputMaybe<NestedStringWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type OffchainRevocation = {\n __typename?: 'OffchainRevocation';\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n uid: Scalars['String']['output'];\n};\n\nexport type OffchainRevocationAvgAggregate = {\n __typename?: 'OffchainRevocationAvgAggregate';\n timestamp?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type OffchainRevocationAvgOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationCountAggregate = {\n __typename?: 'OffchainRevocationCountAggregate';\n _all: Scalars['Int']['output'];\n from: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n uid: Scalars['Int']['output'];\n};\n\nexport type OffchainRevocationCountOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationCreateInput = {\n from: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n timestamp: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n uid: Scalars['String']['input'];\n};\n\nexport type OffchainRevocationCreateManyInput = {\n from: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n timestamp: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n uid: Scalars['String']['input'];\n};\n\nexport type OffchainRevocationGroupBy = {\n __typename?: 'OffchainRevocationGroupBy';\n _avg?: Maybe<OffchainRevocationAvgAggregate>;\n _count?: Maybe<OffchainRevocationCountAggregate>;\n _max?: Maybe<OffchainRevocationMaxAggregate>;\n _min?: Maybe<OffchainRevocationMinAggregate>;\n _sum?: Maybe<OffchainRevocationSumAggregate>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n uid: Scalars['String']['output'];\n};\n\nexport type OffchainRevocationMaxAggregate = {\n __typename?: 'OffchainRevocationMaxAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n uid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type OffchainRevocationMaxOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationMinAggregate = {\n __typename?: 'OffchainRevocationMinAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n uid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type OffchainRevocationMinOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationOrderByWithAggregationInput = {\n _avg?: InputMaybe<OffchainRevocationAvgOrderByAggregateInput>;\n _count?: InputMaybe<OffchainRevocationCountOrderByAggregateInput>;\n _max?: InputMaybe<OffchainRevocationMaxOrderByAggregateInput>;\n _min?: InputMaybe<OffchainRevocationMinOrderByAggregateInput>;\n _sum?: InputMaybe<OffchainRevocationSumOrderByAggregateInput>;\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationOrderByWithRelationInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n uid?: InputMaybe<SortOrder>;\n};\n\nexport enum OffchainRevocationScalarFieldEnum {\n From = 'from',\n Id = 'id',\n Timestamp = 'timestamp',\n Txid = 'txid',\n Uid = 'uid'\n}\n\nexport type OffchainRevocationScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<OffchainRevocationScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<OffchainRevocationScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<OffchainRevocationScalarWhereWithAggregatesInput>>;\n from?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n timestamp?: InputMaybe<IntWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n uid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type OffchainRevocationSumAggregate = {\n __typename?: 'OffchainRevocationSumAggregate';\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type OffchainRevocationSumOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type OffchainRevocationUpdateInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n uid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type OffchainRevocationUpdateManyMutationInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n uid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type OffchainRevocationWhereInput = {\n AND?: InputMaybe<Array<OffchainRevocationWhereInput>>;\n NOT?: InputMaybe<Array<OffchainRevocationWhereInput>>;\n OR?: InputMaybe<Array<OffchainRevocationWhereInput>>;\n from?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n timestamp?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n uid?: InputMaybe<StringFilter>;\n};\n\nexport type OffchainRevocationWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Query = {\n __typename?: 'Query';\n aggregateAttestation: AggregateAttestation;\n aggregateEnsName: AggregateEnsName;\n aggregateOffchainRevocation: AggregateOffchainRevocation;\n aggregateSchema: AggregateSchema;\n aggregateSchemaName: AggregateSchemaName;\n aggregateServiceStat: AggregateServiceStat;\n aggregateTimestamp: AggregateTimestamp;\n attestation?: Maybe<Attestation>;\n attestations: Array<Attestation>;\n ensName?: Maybe<EnsName>;\n ensNames: Array<EnsName>;\n findFirstAttestation?: Maybe<Attestation>;\n findFirstAttestationOrThrow?: Maybe<Attestation>;\n findFirstEnsName?: Maybe<EnsName>;\n findFirstEnsNameOrThrow?: Maybe<EnsName>;\n findFirstOffchainRevocation?: Maybe<OffchainRevocation>;\n findFirstOffchainRevocationOrThrow?: Maybe<OffchainRevocation>;\n findFirstSchema?: Maybe<Schema>;\n findFirstSchemaName?: Maybe<SchemaName>;\n findFirstSchemaNameOrThrow?: Maybe<SchemaName>;\n findFirstSchemaOrThrow?: Maybe<Schema>;\n findFirstServiceStat?: Maybe<ServiceStat>;\n findFirstServiceStatOrThrow?: Maybe<ServiceStat>;\n findFirstTimestamp?: Maybe<Timestamp>;\n findFirstTimestampOrThrow?: Maybe<Timestamp>;\n getAttestation?: Maybe<Attestation>;\n getEnsName?: Maybe<EnsName>;\n getOffchainRevocation?: Maybe<OffchainRevocation>;\n getSchema?: Maybe<Schema>;\n getSchemaName?: Maybe<SchemaName>;\n getServiceStat?: Maybe<ServiceStat>;\n getTimestamp?: Maybe<Timestamp>;\n groupByAttestation: Array<AttestationGroupBy>;\n groupByEnsName: Array<EnsNameGroupBy>;\n groupByOffchainRevocation: Array<OffchainRevocationGroupBy>;\n groupBySchema: Array<SchemaGroupBy>;\n groupBySchemaName: Array<SchemaNameGroupBy>;\n groupByServiceStat: Array<ServiceStatGroupBy>;\n groupByTimestamp: Array<TimestampGroupBy>;\n offchainRevocation?: Maybe<OffchainRevocation>;\n offchainRevocations: Array<OffchainRevocation>;\n schema?: Maybe<Schema>;\n schemaName?: Maybe<SchemaName>;\n schemaNames: Array<SchemaName>;\n schemata: Array<Schema>;\n serviceStat?: Maybe<ServiceStat>;\n serviceStats: Array<ServiceStat>;\n timestamp?: Maybe<Timestamp>;\n timestamps: Array<Timestamp>;\n};\n\n\nexport type QueryAggregateAttestationArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryAggregateEnsNameArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryAggregateOffchainRevocationArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryAggregateSchemaArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryAggregateSchemaNameArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryAggregateServiceStatArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryAggregateTimestampArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryAttestationArgs = {\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type QueryAttestationsArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryEnsNameArgs = {\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type QueryEnsNamesArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<EnsNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryFindFirstAttestationArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryFindFirstAttestationOrThrowArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryFindFirstEnsNameArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<EnsNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryFindFirstEnsNameOrThrowArgs = {\n cursor?: InputMaybe<EnsNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<EnsNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryFindFirstOffchainRevocationArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n distinct?: InputMaybe<Array<OffchainRevocationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryFindFirstOffchainRevocationOrThrowArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n distinct?: InputMaybe<Array<OffchainRevocationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaNameArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaNameOrThrowArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryFindFirstSchemaOrThrowArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryFindFirstServiceStatArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n distinct?: InputMaybe<Array<ServiceStatScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryFindFirstServiceStatOrThrowArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n distinct?: InputMaybe<Array<ServiceStatScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryFindFirstTimestampArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n distinct?: InputMaybe<Array<TimestampScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryFindFirstTimestampOrThrowArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n distinct?: InputMaybe<Array<TimestampScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryGetAttestationArgs = {\n where: AttestationWhereUniqueInput;\n};\n\n\nexport type QueryGetEnsNameArgs = {\n where: EnsNameWhereUniqueInput;\n};\n\n\nexport type QueryGetOffchainRevocationArgs = {\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type QueryGetSchemaArgs = {\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type QueryGetSchemaNameArgs = {\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type QueryGetServiceStatArgs = {\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type QueryGetTimestampArgs = {\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type QueryGroupByAttestationArgs = {\n by: Array<AttestationScalarFieldEnum>;\n having?: InputMaybe<AttestationScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type QueryGroupByEnsNameArgs = {\n by: Array<EnsNameScalarFieldEnum>;\n having?: InputMaybe<EnsNameScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<EnsNameOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<EnsNameWhereInput>;\n};\n\n\nexport type QueryGroupByOffchainRevocationArgs = {\n by: Array<OffchainRevocationScalarFieldEnum>;\n having?: InputMaybe<OffchainRevocationScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QueryGroupBySchemaArgs = {\n by: Array<SchemaScalarFieldEnum>;\n having?: InputMaybe<SchemaScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryGroupBySchemaNameArgs = {\n by: Array<SchemaNameScalarFieldEnum>;\n having?: InputMaybe<SchemaNameScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QueryGroupByServiceStatArgs = {\n by: Array<ServiceStatScalarFieldEnum>;\n having?: InputMaybe<ServiceStatScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryGroupByTimestampArgs = {\n by: Array<TimestampScalarFieldEnum>;\n having?: InputMaybe<TimestampScalarWhereWithAggregatesInput>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithAggregationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\n\nexport type QueryOffchainRevocationArgs = {\n where: OffchainRevocationWhereUniqueInput;\n};\n\n\nexport type QueryOffchainRevocationsArgs = {\n cursor?: InputMaybe<OffchainRevocationWhereUniqueInput>;\n distinct?: InputMaybe<Array<OffchainRevocationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<OffchainRevocationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<OffchainRevocationWhereInput>;\n};\n\n\nexport type QuerySchemaArgs = {\n where: SchemaWhereUniqueInput;\n};\n\n\nexport type QuerySchemaNameArgs = {\n where: SchemaNameWhereUniqueInput;\n};\n\n\nexport type QuerySchemaNamesArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\n\nexport type QuerySchemataArgs = {\n cursor?: InputMaybe<SchemaWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaWhereInput>;\n};\n\n\nexport type QueryServiceStatArgs = {\n where: ServiceStatWhereUniqueInput;\n};\n\n\nexport type QueryServiceStatsArgs = {\n cursor?: InputMaybe<ServiceStatWhereUniqueInput>;\n distinct?: InputMaybe<Array<ServiceStatScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<ServiceStatOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<ServiceStatWhereInput>;\n};\n\n\nexport type QueryTimestampArgs = {\n where: TimestampWhereUniqueInput;\n};\n\n\nexport type QueryTimestampsArgs = {\n cursor?: InputMaybe<TimestampWhereUniqueInput>;\n distinct?: InputMaybe<Array<TimestampScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<TimestampOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<TimestampWhereInput>;\n};\n\nexport enum QueryMode {\n Default = 'default',\n Insensitive = 'insensitive'\n}\n\nexport type Schema = {\n __typename?: 'Schema';\n _count?: Maybe<SchemaCount>;\n attestations: Array<Attestation>;\n creator: Scalars['String']['output'];\n id: Scalars['String']['output'];\n index: Scalars['String']['output'];\n resolver: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n schema: Scalars['String']['output'];\n schemaNames: Array<SchemaName>;\n time: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\n\nexport type SchemaAttestationsArgs = {\n cursor?: InputMaybe<AttestationWhereUniqueInput>;\n distinct?: InputMaybe<Array<AttestationScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<AttestationOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<AttestationWhereInput>;\n};\n\n\nexport type SchemaSchemaNamesArgs = {\n cursor?: InputMaybe<SchemaNameWhereUniqueInput>;\n distinct?: InputMaybe<Array<SchemaNameScalarFieldEnum>>;\n orderBy?: InputMaybe<Array<SchemaNameOrderByWithRelationInput>>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n take?: InputMaybe<Scalars['Int']['input']>;\n where?: InputMaybe<SchemaNameWhereInput>;\n};\n\nexport type SchemaAvgAggregate = {\n __typename?: 'SchemaAvgAggregate';\n time?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type SchemaAvgOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaCount = {\n __typename?: 'SchemaCount';\n attestations: Scalars['Int']['output'];\n schemaNames: Scalars['Int']['output'];\n};\n\nexport type SchemaCountAggregate = {\n __typename?: 'SchemaCountAggregate';\n _all: Scalars['Int']['output'];\n creator: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n index: Scalars['Int']['output'];\n resolver: Scalars['Int']['output'];\n revocable: Scalars['Int']['output'];\n schema: Scalars['Int']['output'];\n time: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n};\n\nexport type SchemaCountOrderByAggregateInput = {\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaCreateInput = {\n attestations?: InputMaybe<AttestationCreateNestedManyWithoutSchemaInput>;\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n schemaNames?: InputMaybe<SchemaNameCreateNestedManyWithoutSchemaInput>;\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaCreateManyInput = {\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaCreateNestedOneWithoutAttestationsInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutAttestationsInput>;\n create?: InputMaybe<SchemaCreateWithoutAttestationsInput>;\n};\n\nexport type SchemaCreateNestedOneWithoutSchemaNamesInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutSchemaNamesInput>;\n create?: InputMaybe<SchemaCreateWithoutSchemaNamesInput>;\n};\n\nexport type SchemaCreateOrConnectWithoutAttestationsInput = {\n create: SchemaCreateWithoutAttestationsInput;\n where: SchemaWhereUniqueInput;\n};\n\nexport type SchemaCreateOrConnectWithoutSchemaNamesInput = {\n create: SchemaCreateWithoutSchemaNamesInput;\n where: SchemaWhereUniqueInput;\n};\n\nexport type SchemaCreateWithoutAttestationsInput = {\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n schemaNames?: InputMaybe<SchemaNameCreateNestedManyWithoutSchemaInput>;\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaCreateWithoutSchemaNamesInput = {\n attestations?: InputMaybe<AttestationCreateNestedManyWithoutSchemaInput>;\n creator: Scalars['String']['input'];\n id: Scalars['String']['input'];\n index: Scalars['String']['input'];\n resolver: Scalars['String']['input'];\n revocable: Scalars['Boolean']['input'];\n schema: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n txid: Scalars['String']['input'];\n};\n\nexport type SchemaGroupBy = {\n __typename?: 'SchemaGroupBy';\n _avg?: Maybe<SchemaAvgAggregate>;\n _count?: Maybe<SchemaCountAggregate>;\n _max?: Maybe<SchemaMaxAggregate>;\n _min?: Maybe<SchemaMinAggregate>;\n _sum?: Maybe<SchemaSumAggregate>;\n creator: Scalars['String']['output'];\n id: Scalars['String']['output'];\n index: Scalars['String']['output'];\n resolver: Scalars['String']['output'];\n revocable: Scalars['Boolean']['output'];\n schema: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type SchemaMaxAggregate = {\n __typename?: 'SchemaMaxAggregate';\n creator?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n index?: Maybe<Scalars['String']['output']>;\n resolver?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n schema?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SchemaMaxOrderByAggregateInput = {\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaMinAggregate = {\n __typename?: 'SchemaMinAggregate';\n creator?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n index?: Maybe<Scalars['String']['output']>;\n resolver?: Maybe<Scalars['String']['output']>;\n revocable?: Maybe<Scalars['Boolean']['output']>;\n schema?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SchemaMinOrderByAggregateInput = {\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaName = {\n __typename?: 'SchemaName';\n attesterAddress: Scalars['String']['output'];\n id: Scalars['String']['output'];\n isCreator: Scalars['Boolean']['output'];\n name: Scalars['String']['output'];\n schema: Schema;\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n};\n\nexport type SchemaNameAvgAggregate = {\n __typename?: 'SchemaNameAvgAggregate';\n time?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type SchemaNameAvgOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameCountAggregate = {\n __typename?: 'SchemaNameCountAggregate';\n _all: Scalars['Int']['output'];\n attesterAddress: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n isCreator: Scalars['Int']['output'];\n name: Scalars['Int']['output'];\n schemaId: Scalars['Int']['output'];\n time: Scalars['Int']['output'];\n};\n\nexport type SchemaNameCountOrderByAggregateInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameCreateInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n schema: SchemaCreateNestedOneWithoutSchemaNamesInput;\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameCreateManyInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n schemaId: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameCreateManySchemaInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameCreateManySchemaInputEnvelope = {\n data: Array<SchemaNameCreateManySchemaInput>;\n skipDuplicates?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type SchemaNameCreateNestedManyWithoutSchemaInput = {\n connect?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<SchemaNameCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<SchemaNameCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<SchemaNameCreateManySchemaInputEnvelope>;\n};\n\nexport type SchemaNameCreateOrConnectWithoutSchemaInput = {\n create: SchemaNameCreateWithoutSchemaInput;\n where: SchemaNameWhereUniqueInput;\n};\n\nexport type SchemaNameCreateWithoutSchemaInput = {\n attesterAddress: Scalars['String']['input'];\n id?: InputMaybe<Scalars['String']['input']>;\n isCreator: Scalars['Boolean']['input'];\n name: Scalars['String']['input'];\n time: Scalars['Int']['input'];\n};\n\nexport type SchemaNameGroupBy = {\n __typename?: 'SchemaNameGroupBy';\n _avg?: Maybe<SchemaNameAvgAggregate>;\n _count?: Maybe<SchemaNameCountAggregate>;\n _max?: Maybe<SchemaNameMaxAggregate>;\n _min?: Maybe<SchemaNameMinAggregate>;\n _sum?: Maybe<SchemaNameSumAggregate>;\n attesterAddress: Scalars['String']['output'];\n id: Scalars['String']['output'];\n isCreator: Scalars['Boolean']['output'];\n name: Scalars['String']['output'];\n schemaId: Scalars['String']['output'];\n time: Scalars['Int']['output'];\n};\n\nexport type SchemaNameListRelationFilter = {\n every?: InputMaybe<SchemaNameWhereInput>;\n none?: InputMaybe<SchemaNameWhereInput>;\n some?: InputMaybe<SchemaNameWhereInput>;\n};\n\nexport type SchemaNameMaxAggregate = {\n __typename?: 'SchemaNameMaxAggregate';\n attesterAddress?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n isCreator?: Maybe<Scalars['Boolean']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaNameMaxOrderByAggregateInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameMinAggregate = {\n __typename?: 'SchemaNameMinAggregate';\n attesterAddress?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n isCreator?: Maybe<Scalars['Boolean']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n schemaId?: Maybe<Scalars['String']['output']>;\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaNameMinOrderByAggregateInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameOrderByRelationAggregateInput = {\n _count?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameOrderByWithAggregationInput = {\n _avg?: InputMaybe<SchemaNameAvgOrderByAggregateInput>;\n _count?: InputMaybe<SchemaNameCountOrderByAggregateInput>;\n _max?: InputMaybe<SchemaNameMaxOrderByAggregateInput>;\n _min?: InputMaybe<SchemaNameMinOrderByAggregateInput>;\n _sum?: InputMaybe<SchemaNameSumOrderByAggregateInput>;\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameOrderByWithRelationInput = {\n attesterAddress?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n isCreator?: InputMaybe<SortOrder>;\n name?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SchemaOrderByWithRelationInput>;\n schemaId?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n};\n\nexport enum SchemaNameScalarFieldEnum {\n AttesterAddress = 'attesterAddress',\n Id = 'id',\n IsCreator = 'isCreator',\n Name = 'name',\n SchemaId = 'schemaId',\n Time = 'time'\n}\n\nexport type SchemaNameScalarWhereInput = {\n AND?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n NOT?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n OR?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n attesterAddress?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n isCreator?: InputMaybe<BoolFilter>;\n name?: InputMaybe<StringFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n};\n\nexport type SchemaNameScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<SchemaNameScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<SchemaNameScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<SchemaNameScalarWhereWithAggregatesInput>>;\n attesterAddress?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n isCreator?: InputMaybe<BoolWithAggregatesFilter>;\n name?: InputMaybe<StringWithAggregatesFilter>;\n schemaId?: InputMaybe<StringWithAggregatesFilter>;\n time?: InputMaybe<IntWithAggregatesFilter>;\n};\n\nexport type SchemaNameSumAggregate = {\n __typename?: 'SchemaNameSumAggregate';\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaNameSumOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaNameUpdateInput = {\n attesterAddress?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n isCreator?: InputMaybe<BoolFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n schema?: InputMaybe<SchemaUpdateOneRequiredWithoutSchemaNamesNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type SchemaNameUpdateManyMutationInput = {\n attesterAddress?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n isCreator?: InputMaybe<BoolFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type SchemaNameUpdateManyWithWhereWithoutSchemaInput = {\n data: SchemaNameUpdateManyMutationInput;\n where: SchemaNameScalarWhereInput;\n};\n\nexport type SchemaNameUpdateManyWithoutSchemaNestedInput = {\n connect?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n connectOrCreate?: InputMaybe<Array<SchemaNameCreateOrConnectWithoutSchemaInput>>;\n create?: InputMaybe<Array<SchemaNameCreateWithoutSchemaInput>>;\n createMany?: InputMaybe<SchemaNameCreateManySchemaInputEnvelope>;\n delete?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n deleteMany?: InputMaybe<Array<SchemaNameScalarWhereInput>>;\n disconnect?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n set?: InputMaybe<Array<SchemaNameWhereUniqueInput>>;\n update?: InputMaybe<Array<SchemaNameUpdateWithWhereUniqueWithoutSchemaInput>>;\n updateMany?: InputMaybe<Array<SchemaNameUpdateManyWithWhereWithoutSchemaInput>>;\n upsert?: InputMaybe<Array<SchemaNameUpsertWithWhereUniqueWithoutSchemaInput>>;\n};\n\nexport type SchemaNameUpdateWithWhereUniqueWithoutSchemaInput = {\n data: SchemaNameUpdateWithoutSchemaInput;\n where: SchemaNameWhereUniqueInput;\n};\n\nexport type SchemaNameUpdateWithoutSchemaInput = {\n attesterAddress?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n isCreator?: InputMaybe<BoolFieldUpdateOperationsInput>;\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n};\n\nexport type SchemaNameUpsertWithWhereUniqueWithoutSchemaInput = {\n create: SchemaNameCreateWithoutSchemaInput;\n update: SchemaNameUpdateWithoutSchemaInput;\n where: SchemaNameWhereUniqueInput;\n};\n\nexport type SchemaNameWhereInput = {\n AND?: InputMaybe<Array<SchemaNameWhereInput>>;\n NOT?: InputMaybe<Array<SchemaNameWhereInput>>;\n OR?: InputMaybe<Array<SchemaNameWhereInput>>;\n attesterAddress?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n isCreator?: InputMaybe<BoolFilter>;\n name?: InputMaybe<StringFilter>;\n schema?: InputMaybe<SchemaRelationFilter>;\n schemaId?: InputMaybe<StringFilter>;\n time?: InputMaybe<IntFilter>;\n};\n\nexport type SchemaNameWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type SchemaOrderByWithAggregationInput = {\n _avg?: InputMaybe<SchemaAvgOrderByAggregateInput>;\n _count?: InputMaybe<SchemaCountOrderByAggregateInput>;\n _max?: InputMaybe<SchemaMaxOrderByAggregateInput>;\n _min?: InputMaybe<SchemaMinOrderByAggregateInput>;\n _sum?: InputMaybe<SchemaSumOrderByAggregateInput>;\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaOrderByWithRelationInput = {\n attestations?: InputMaybe<AttestationOrderByRelationAggregateInput>;\n creator?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n index?: InputMaybe<SortOrder>;\n resolver?: InputMaybe<SortOrder>;\n revocable?: InputMaybe<SortOrder>;\n schema?: InputMaybe<SortOrder>;\n schemaNames?: InputMaybe<SchemaNameOrderByRelationAggregateInput>;\n time?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaRelationFilter = {\n is?: InputMaybe<SchemaWhereInput>;\n isNot?: InputMaybe<SchemaWhereInput>;\n};\n\nexport enum SchemaScalarFieldEnum {\n Creator = 'creator',\n Id = 'id',\n Index = 'index',\n Resolver = 'resolver',\n Revocable = 'revocable',\n Schema = 'schema',\n Time = 'time',\n Txid = 'txid'\n}\n\nexport type SchemaScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<SchemaScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<SchemaScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<SchemaScalarWhereWithAggregatesInput>>;\n creator?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n index?: InputMaybe<StringWithAggregatesFilter>;\n resolver?: InputMaybe<StringWithAggregatesFilter>;\n revocable?: InputMaybe<BoolWithAggregatesFilter>;\n schema?: InputMaybe<StringWithAggregatesFilter>;\n time?: InputMaybe<IntWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type SchemaSumAggregate = {\n __typename?: 'SchemaSumAggregate';\n time?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type SchemaSumOrderByAggregateInput = {\n time?: InputMaybe<SortOrder>;\n};\n\nexport type SchemaUpdateInput = {\n attestations?: InputMaybe<AttestationUpdateManyWithoutSchemaNestedInput>;\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n schemaNames?: InputMaybe<SchemaNameUpdateManyWithoutSchemaNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpdateManyMutationInput = {\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpdateOneRequiredWithoutAttestationsNestedInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutAttestationsInput>;\n create?: InputMaybe<SchemaCreateWithoutAttestationsInput>;\n update?: InputMaybe<SchemaUpdateWithoutAttestationsInput>;\n upsert?: InputMaybe<SchemaUpsertWithoutAttestationsInput>;\n};\n\nexport type SchemaUpdateOneRequiredWithoutSchemaNamesNestedInput = {\n connect?: InputMaybe<SchemaWhereUniqueInput>;\n connectOrCreate?: InputMaybe<SchemaCreateOrConnectWithoutSchemaNamesInput>;\n create?: InputMaybe<SchemaCreateWithoutSchemaNamesInput>;\n update?: InputMaybe<SchemaUpdateWithoutSchemaNamesInput>;\n upsert?: InputMaybe<SchemaUpsertWithoutSchemaNamesInput>;\n};\n\nexport type SchemaUpdateWithoutAttestationsInput = {\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n schemaNames?: InputMaybe<SchemaNameUpdateManyWithoutSchemaNestedInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpdateWithoutSchemaNamesInput = {\n attestations?: InputMaybe<AttestationUpdateManyWithoutSchemaNestedInput>;\n creator?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n index?: InputMaybe<StringFieldUpdateOperationsInput>;\n resolver?: InputMaybe<StringFieldUpdateOperationsInput>;\n revocable?: InputMaybe<BoolFieldUpdateOperationsInput>;\n schema?: InputMaybe<StringFieldUpdateOperationsInput>;\n time?: InputMaybe<IntFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type SchemaUpsertWithoutAttestationsInput = {\n create: SchemaCreateWithoutAttestationsInput;\n update: SchemaUpdateWithoutAttestationsInput;\n};\n\nexport type SchemaUpsertWithoutSchemaNamesInput = {\n create: SchemaCreateWithoutSchemaNamesInput;\n update: SchemaUpdateWithoutSchemaNamesInput;\n};\n\nexport type SchemaWhereInput = {\n AND?: InputMaybe<Array<SchemaWhereInput>>;\n NOT?: InputMaybe<Array<SchemaWhereInput>>;\n OR?: InputMaybe<Array<SchemaWhereInput>>;\n attestations?: InputMaybe<AttestationListRelationFilter>;\n creator?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n index?: InputMaybe<StringFilter>;\n resolver?: InputMaybe<StringFilter>;\n revocable?: InputMaybe<BoolFilter>;\n schema?: InputMaybe<StringFilter>;\n schemaNames?: InputMaybe<SchemaNameListRelationFilter>;\n time?: InputMaybe<IntFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type SchemaWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ServiceStat = {\n __typename?: 'ServiceStat';\n name: Scalars['String']['output'];\n value: Scalars['String']['output'];\n};\n\nexport type ServiceStatCountAggregate = {\n __typename?: 'ServiceStatCountAggregate';\n _all: Scalars['Int']['output'];\n name: Scalars['Int']['output'];\n value: Scalars['Int']['output'];\n};\n\nexport type ServiceStatCountOrderByAggregateInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatCreateInput = {\n name: Scalars['String']['input'];\n value: Scalars['String']['input'];\n};\n\nexport type ServiceStatCreateManyInput = {\n name: Scalars['String']['input'];\n value: Scalars['String']['input'];\n};\n\nexport type ServiceStatGroupBy = {\n __typename?: 'ServiceStatGroupBy';\n _count?: Maybe<ServiceStatCountAggregate>;\n _max?: Maybe<ServiceStatMaxAggregate>;\n _min?: Maybe<ServiceStatMinAggregate>;\n name: Scalars['String']['output'];\n value: Scalars['String']['output'];\n};\n\nexport type ServiceStatMaxAggregate = {\n __typename?: 'ServiceStatMaxAggregate';\n name?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ServiceStatMaxOrderByAggregateInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatMinAggregate = {\n __typename?: 'ServiceStatMinAggregate';\n name?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ServiceStatMinOrderByAggregateInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatOrderByWithAggregationInput = {\n _count?: InputMaybe<ServiceStatCountOrderByAggregateInput>;\n _max?: InputMaybe<ServiceStatMaxOrderByAggregateInput>;\n _min?: InputMaybe<ServiceStatMinOrderByAggregateInput>;\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport type ServiceStatOrderByWithRelationInput = {\n name?: InputMaybe<SortOrder>;\n value?: InputMaybe<SortOrder>;\n};\n\nexport enum ServiceStatScalarFieldEnum {\n Name = 'name',\n Value = 'value'\n}\n\nexport type ServiceStatScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<ServiceStatScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<ServiceStatScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<ServiceStatScalarWhereWithAggregatesInput>>;\n name?: InputMaybe<StringWithAggregatesFilter>;\n value?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type ServiceStatUpdateInput = {\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n value?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type ServiceStatUpdateManyMutationInput = {\n name?: InputMaybe<StringFieldUpdateOperationsInput>;\n value?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type ServiceStatWhereInput = {\n AND?: InputMaybe<Array<ServiceStatWhereInput>>;\n NOT?: InputMaybe<Array<ServiceStatWhereInput>>;\n OR?: InputMaybe<Array<ServiceStatWhereInput>>;\n name?: InputMaybe<StringFilter>;\n value?: InputMaybe<StringFilter>;\n};\n\nexport type ServiceStatWhereUniqueInput = {\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum SortOrder {\n Asc = 'asc',\n Desc = 'desc'\n}\n\nexport type StringFieldUpdateOperationsInput = {\n set?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StringFilter = {\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n mode?: InputMaybe<QueryMode>;\n not?: InputMaybe<NestedStringFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StringWithAggregatesFilter = {\n _count?: InputMaybe<NestedIntFilter>;\n _max?: InputMaybe<NestedStringFilter>;\n _min?: InputMaybe<NestedStringFilter>;\n contains?: InputMaybe<Scalars['String']['input']>;\n endsWith?: InputMaybe<Scalars['String']['input']>;\n equals?: InputMaybe<Scalars['String']['input']>;\n gt?: InputMaybe<Scalars['String']['input']>;\n gte?: InputMaybe<Scalars['String']['input']>;\n in?: InputMaybe<Array<Scalars['String']['input']>>;\n lt?: InputMaybe<Scalars['String']['input']>;\n lte?: InputMaybe<Scalars['String']['input']>;\n mode?: InputMaybe<QueryMode>;\n not?: InputMaybe<NestedStringWithAggregatesFilter>;\n notIn?: InputMaybe<Array<Scalars['String']['input']>>;\n startsWith?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Timestamp = {\n __typename?: 'Timestamp';\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tree: Scalars['String']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type TimestampAvgAggregate = {\n __typename?: 'TimestampAvgAggregate';\n timestamp?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type TimestampAvgOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampCountAggregate = {\n __typename?: 'TimestampCountAggregate';\n _all: Scalars['Int']['output'];\n from: Scalars['Int']['output'];\n id: Scalars['Int']['output'];\n timestamp: Scalars['Int']['output'];\n tree: Scalars['Int']['output'];\n txid: Scalars['Int']['output'];\n};\n\nexport type TimestampCountOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampCreateInput = {\n from: Scalars['String']['input'];\n id: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n tree?: InputMaybe<Scalars['String']['input']>;\n txid: Scalars['String']['input'];\n};\n\nexport type TimestampCreateManyInput = {\n from: Scalars['String']['input'];\n id: Scalars['String']['input'];\n timestamp: Scalars['Int']['input'];\n tree?: InputMaybe<Scalars['String']['input']>;\n txid: Scalars['String']['input'];\n};\n\nexport type TimestampGroupBy = {\n __typename?: 'TimestampGroupBy';\n _avg?: Maybe<TimestampAvgAggregate>;\n _count?: Maybe<TimestampCountAggregate>;\n _max?: Maybe<TimestampMaxAggregate>;\n _min?: Maybe<TimestampMinAggregate>;\n _sum?: Maybe<TimestampSumAggregate>;\n from: Scalars['String']['output'];\n id: Scalars['String']['output'];\n timestamp: Scalars['Int']['output'];\n tree: Scalars['String']['output'];\n txid: Scalars['String']['output'];\n};\n\nexport type TimestampMaxAggregate = {\n __typename?: 'TimestampMaxAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n tree?: Maybe<Scalars['String']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type TimestampMaxOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampMinAggregate = {\n __typename?: 'TimestampMinAggregate';\n from?: Maybe<Scalars['String']['output']>;\n id?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Int']['output']>;\n tree?: Maybe<Scalars['String']['output']>;\n txid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type TimestampMinOrderByAggregateInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampOrderByWithAggregationInput = {\n _avg?: InputMaybe<TimestampAvgOrderByAggregateInput>;\n _count?: InputMaybe<TimestampCountOrderByAggregateInput>;\n _max?: InputMaybe<TimestampMaxOrderByAggregateInput>;\n _min?: InputMaybe<TimestampMinOrderByAggregateInput>;\n _sum?: InputMaybe<TimestampSumOrderByAggregateInput>;\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampOrderByWithRelationInput = {\n from?: InputMaybe<SortOrder>;\n id?: InputMaybe<SortOrder>;\n timestamp?: InputMaybe<SortOrder>;\n tree?: InputMaybe<SortOrder>;\n txid?: InputMaybe<SortOrder>;\n};\n\nexport enum TimestampScalarFieldEnum {\n From = 'from',\n Id = 'id',\n Timestamp = 'timestamp',\n Tree = 'tree',\n Txid = 'txid'\n}\n\nexport type TimestampScalarWhereWithAggregatesInput = {\n AND?: InputMaybe<Array<TimestampScalarWhereWithAggregatesInput>>;\n NOT?: InputMaybe<Array<TimestampScalarWhereWithAggregatesInput>>;\n OR?: InputMaybe<Array<TimestampScalarWhereWithAggregatesInput>>;\n from?: InputMaybe<StringWithAggregatesFilter>;\n id?: InputMaybe<StringWithAggregatesFilter>;\n timestamp?: InputMaybe<IntWithAggregatesFilter>;\n tree?: InputMaybe<StringWithAggregatesFilter>;\n txid?: InputMaybe<StringWithAggregatesFilter>;\n};\n\nexport type TimestampSumAggregate = {\n __typename?: 'TimestampSumAggregate';\n timestamp?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type TimestampSumOrderByAggregateInput = {\n timestamp?: InputMaybe<SortOrder>;\n};\n\nexport type TimestampUpdateInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n tree?: InputMaybe<StringFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type TimestampUpdateManyMutationInput = {\n from?: InputMaybe<StringFieldUpdateOperationsInput>;\n id?: InputMaybe<StringFieldUpdateOperationsInput>;\n timestamp?: InputMaybe<IntFieldUpdateOperationsInput>;\n tree?: InputMaybe<StringFieldUpdateOperationsInput>;\n txid?: InputMaybe<StringFieldUpdateOperationsInput>;\n};\n\nexport type TimestampWhereInput = {\n AND?: InputMaybe<Array<TimestampWhereInput>>;\n NOT?: InputMaybe<Array<TimestampWhereInput>>;\n OR?: InputMaybe<Array<TimestampWhereInput>>;\n from?: InputMaybe<StringFilter>;\n id?: InputMaybe<StringFilter>;\n timestamp?: InputMaybe<IntFilter>;\n tree?: InputMaybe<StringFilter>;\n txid?: InputMaybe<StringFilter>;\n};\n\nexport type TimestampWhereUniqueInput = {\n id?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AttestationFieldsFragment = { __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, revocationTime: number, schemaId: string, txid: string, timeCreated: number, time: number, isOffchain: boolean } & { ' $fragmentName'?: 'AttestationFieldsFragment' };\n\nexport type SchemaFieldsFragment = { __typename?: 'Schema', id: string, resolver: string, revocable: boolean, schema: string, index: string, time: number, txid: string, creator: string, schemaNames: Array<{ __typename?: 'SchemaName', name: string }> } & { ' $fragmentName'?: 'SchemaFieldsFragment' };\n\nexport type GetSchemasQueryVariables = Exact<{\n where: SchemaWhereInput;\n}>;\n\n\nexport type GetSchemasQuery = { __typename?: 'Query', schemas: Array<{ __typename?: 'Schema', id: string, schema: string, schemaNames: Array<{ __typename?: 'SchemaName', name: string }> }> };\n\nexport type GetSchemaByNameQueryVariables = Exact<{\n where: SchemaWhereInput;\n}>;\n\n\nexport type GetSchemaByNameQuery = { __typename?: 'Query', schemas: Array<{ __typename?: 'Schema', id: string, schema: string, schemaNames: Array<{ __typename?: 'SchemaName', name: string }> }> };\n\nexport type GetSeedsQueryVariables = Exact<{\n where: AttestationWhereInput;\n take?: InputMaybe<Scalars['Int']['input']>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n}>;\n\n\nexport type GetSeedsQuery = { __typename?: 'Query', itemSeeds: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, revocationTime: number, schemaId: string, timeCreated: number, isOffchain: boolean, schema: { __typename?: 'Schema', schemaNames: Array<{ __typename?: 'SchemaName', name: string }> } }> };\n\nexport type GetSeedsLeanQueryVariables = Exact<{\n where: AttestationWhereInput;\n take?: InputMaybe<Scalars['Int']['input']>;\n skip?: InputMaybe<Scalars['Int']['input']>;\n}>;\n\n\nexport type GetSeedsLeanQuery = { __typename?: 'Query', itemSeeds: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, revocationTime: number, schemaId: string, timeCreated: number, isOffchain: boolean }> };\n\nexport type GetDomainOwnershipsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetDomainOwnershipsQuery = { __typename?: 'Query', domainOwnerships: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, recipient: string, refUID: string, revoked: boolean, revocationTime: number, expirationTime: number, schemaId: string, timeCreated: number }> };\n\nexport type GetSeedIdsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetSeedIdsQuery = { __typename?: 'Query', itemSeedIds: Array<{ __typename?: 'Attestation', id: string }> };\n\nexport type GetStorageTransactionIdQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetStorageTransactionIdQuery = { __typename?: 'Query', storageTransactionId: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string }> };\n\nexport type GetVersionsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetVersionsQuery = { __typename?: 'Query', itemVersions: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetPropertiesQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetPropertiesQuery = { __typename?: 'Query', itemProperties: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetAllPropertiesForAllVersionsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetAllPropertiesForAllVersionsQuery = { __typename?: 'Query', allProperties: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetFilesMetadataQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetFilesMetadataQuery = { __typename?: 'Query', filesMetadata: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetImageSeedsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetImageSeedsQuery = { __typename?: 'Query', imageSeeds: Array<{ __typename?: 'Attestation', id: string, decodedDataJson: string, attester: string, refUID: string, revoked: boolean, schemaId: string, txid: string, timeCreated: number, time: number, isOffchain: boolean, schema: { __typename?: 'Schema', schemaNames: Array<{ __typename?: 'SchemaName', name: string }> } }> };\n\nexport type GetImageVersionsQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetImageVersionsQuery = { __typename?: 'Query', imageVersions: Array<(\n { __typename?: 'Attestation' }\n & { ' $fragmentRefs'?: { 'AttestationFieldsFragment': AttestationFieldsFragment } }\n )> };\n\nexport type GetAttestationChangesQueryVariables = Exact<{\n where: AttestationWhereInput;\n}>;\n\n\nexport type GetAttestationChangesQuery = { __typename?: 'Query', changes: Array<{ __typename?: 'Attestation', id: string, refUID: string, timeCreated: number, revocationTime: number }> };\n\nexport const AttestationFieldsFragmentDoc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<AttestationFieldsFragment, unknown>;\nexport const SchemaFieldsFragmentDoc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Schema\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resolver\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocable\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"index\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"creator\"}}]}}]} as unknown as DocumentNode<SchemaFieldsFragment, unknown>;\nexport const GetSchemasDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSchemas\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SchemaWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"schemas\"},\"name\":{\"kind\":\"Name\",\"value\":\"schemata\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]}}]} as unknown as DocumentNode<GetSchemasQuery, GetSchemasQueryVariables>;\nexport const GetSchemaByNameDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSchemaByName\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SchemaWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"schemas\"},\"name\":{\"kind\":\"Name\",\"value\":\"schemata\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]}}]} as unknown as DocumentNode<GetSchemaByNameQuery, GetSchemaByNameQueryVariables>;\nexport const GetSeedsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSeeds\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemSeeds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]}}]} as unknown as DocumentNode<GetSeedsQuery, GetSeedsQueryVariables>;\nexport const GetSeedsLeanDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSeedsLean\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemSeeds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]}}]} as unknown as DocumentNode<GetSeedsLeanQuery, GetSeedsLeanQueryVariables>;\nexport const GetDomainOwnershipsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetDomainOwnerships\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domainOwnerships\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recipient\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expirationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}}]}}]}}]} as unknown as DocumentNode<GetDomainOwnershipsQuery, GetDomainOwnershipsQueryVariables>;\nexport const GetSeedIdsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetSeedIds\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemSeedIds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]} as unknown as DocumentNode<GetSeedIdsQuery, GetSeedIdsQueryVariables>;\nexport const GetStorageTransactionIdDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetStorageTransactionId\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"storageTransactionId\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}}]}}]}}]} as unknown as DocumentNode<GetStorageTransactionIdQuery, GetStorageTransactionIdQueryVariables>;\nexport const GetVersionsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemVersions\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetVersionsQuery, GetVersionsQueryVariables>;\nexport const GetPropertiesDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProperties\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"itemProperties\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetPropertiesQuery, GetPropertiesQueryVariables>;\nexport const GetAllPropertiesForAllVersionsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetAllPropertiesForAllVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"allProperties\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetAllPropertiesForAllVersionsQuery, GetAllPropertiesForAllVersionsQueryVariables>;\nexport const GetFilesMetadataDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetFilesMetadata\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"filesMetadata\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetFilesMetadataQuery, GetFilesMetadataQueryVariables>;\nexport const GetImageSeedsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetImageSeeds\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"imageSeeds\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schema\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaNames\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]}}]} as unknown as DocumentNode<GetImageSeedsQuery, GetImageSeedsQueryVariables>;\nexport const GetImageVersionsDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetImageVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"imageVersions\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"desc\"}}]}]}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"attestationFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Attestation\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decodedDataJson\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attester\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revoked\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schemaId\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"txid\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"time\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOffchain\"}}]}}]} as unknown as DocumentNode<GetImageVersionsQuery, GetImageVersionsQueryVariables>;\nexport const GetAttestationChangesDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetAttestationChanges\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AttestationWhereInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"changes\"},\"name\":{\"kind\":\"Name\",\"value\":\"attestations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refUID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeCreated\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revocationTime\"}}]}}]}}]} as unknown as DocumentNode<GetAttestationChangesQuery, GetAttestationChangesQueryVariables>;","/* eslint-disable */\nimport * as types from './graphql';\nimport type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size\n */\ntype Documents = {\n \"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\": typeof types.AttestationFieldsFragmentDoc,\n \"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\": typeof types.SchemaFieldsFragmentDoc,\n \"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": typeof types.GetSchemasDocument,\n \"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": typeof types.GetSchemaByNameDocument,\n \"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": typeof types.GetSeedsDocument,\n \"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": typeof types.GetSeedsLeanDocument,\n \"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\": typeof types.GetDomainOwnershipsDocument,\n \"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\": typeof types.GetSeedIdsDocument,\n \"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\": typeof types.GetStorageTransactionIdDocument,\n \"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetVersionsDocument,\n \"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetPropertiesDocument,\n \"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetAllPropertiesForAllVersionsDocument,\n \"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetFilesMetadataDocument,\n \"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\": typeof types.GetImageSeedsDocument,\n \"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": typeof types.GetImageVersionsDocument,\n \"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\": typeof types.GetAttestationChangesDocument,\n};\nconst documents: Documents = {\n \"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\": types.AttestationFieldsFragmentDoc,\n \"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\": types.SchemaFieldsFragmentDoc,\n \"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": types.GetSchemasDocument,\n \"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\": types.GetSchemaByNameDocument,\n \"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": types.GetSeedsDocument,\n \"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\": types.GetSeedsLeanDocument,\n \"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\": types.GetDomainOwnershipsDocument,\n \"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\": types.GetSeedIdsDocument,\n \"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\": types.GetStorageTransactionIdDocument,\n \"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetVersionsDocument,\n \"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetPropertiesDocument,\n \"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetAllPropertiesForAllVersionsDocument,\n \"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetFilesMetadataDocument,\n \"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\": types.GetImageSeedsDocument,\n \"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\": types.GetImageVersionsDocument,\n \"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\": types.GetAttestationChangesDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\"): (typeof documents)[\"\\n fragment attestationFields on Attestation {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\"): (typeof documents)[\"\\n fragment schemaFields on Schema {\\n id\\n resolver\\n revocable\\n schema\\n index\\n schemaNames {\\n name\\n }\\n time\\n txid\\n creator\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSchemas($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSchemaByName($where: SchemaWhereInput!) {\\n schemas: schemata(where: $where) {\\n id\\n schema\\n schemaNames {\\n name\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\\n id\\n decodedDataJson\\n attester\\n refUID\\n revoked\\n revocationTime\\n schemaId\\n timeCreated\\n isOffchain\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetDomainOwnerships($where: AttestationWhereInput!) {\\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n recipient\\n refUID\\n revoked\\n revocationTime\\n expirationTime\\n schemaId\\n timeCreated\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSeedIds($where: AttestationWhereInput!) {\\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetStorageTransactionId($where: AttestationWhereInput!) {\\n storageTransactionId: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n id\\n decodedDataJson\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetVersions($where: AttestationWhereInput!) {\\n itemVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetProperties($where: AttestationWhereInput!) {\\n itemProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\\n allProperties: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetFilesMetadata($where: AttestationWhereInput!) {\\n filesMetadata: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetImageSeeds($where: AttestationWhereInput!) {\\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\\n id\\n decodedDataJson\\n attester\\n schema {\\n schemaNames {\\n name\\n }\\n }\\n refUID\\n revoked\\n schemaId\\n txid\\n timeCreated\\n time\\n isOffchain\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetImageVersions($where: AttestationWhereInput!) {\\n imageVersions: attestations(\\n where: $where\\n orderBy: [{ timeCreated: desc }]\\n ) {\\n ...attestationFields\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetAttestationChanges($where: AttestationWhereInput!) {\\n changes: attestations(where: $where) {\\n id\\n refUID\\n timeCreated\\n revocationTime\\n }\\n }\\n\"];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;","import { graphql } from './graphql/gql/index.js'\nimport type { TypedDocumentNode } from '@graphql-typed-document-node/core'\nimport type { Attestation, Schema as EASSchema } from './graphql/gql/graphql.js'\n\nexport const GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($where: SchemaWhereInput!) {\n schemas: schemata(where: $where) {\n id\n schema\n schemaNames {\n name\n }\n }\n }\n`)\n\nexport const GET_SCHEMA_BY_NAME = graphql(/* GraphQL */ `\n query GetSchemaByName($where: SchemaWhereInput!) {\n schemas: schemata(where: $where) {\n id\n schema\n schemaNames {\n name\n }\n }\n }\n`) as TypedDocumentNode<{ schemas: EASSchema[] }>\n\nexport const GET_SEEDS = graphql(/* GraphQL */ `\n query GetSeeds($where: AttestationWhereInput!, $take: Int, $skip: Int) {\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\n id\n decodedDataJson\n attester\n schema {\n schemaNames {\n name\n }\n }\n refUID\n revoked\n revocationTime\n schemaId\n timeCreated\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ itemSeeds: Attestation[] }>\n\n/**\n * GET_SEEDS without `schema { schemaNames }`, which makes the request several times slower on\n * easscan. Callers that need seed schema names attach them from `schemaId`\n * (see getSchemaNamesBySchemaUids).\n */\nexport const GET_SEEDS_LEAN = graphql(/* GraphQL */ `\n query GetSeedsLean($where: AttestationWhereInput!, $take: Int, $skip: Int) {\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take, skip: $skip) {\n id\n decodedDataJson\n attester\n refUID\n revoked\n revocationTime\n schemaId\n timeCreated\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ itemSeeds: Attestation[] }>\n\n/**\n * DomainOwnership sidecar attestations. Unlike GET_SEEDS it selects `expirationTime`, which\n * {@link assessDomainOwnership} needs to report an expired claim.\n */\nexport const GET_DOMAIN_OWNERSHIPS = graphql(/* GraphQL */ `\n query GetDomainOwnerships($where: AttestationWhereInput!) {\n domainOwnerships: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n decodedDataJson\n attester\n recipient\n refUID\n revoked\n revocationTime\n expirationTime\n schemaId\n timeCreated\n }\n }\n`) as TypedDocumentNode<{ domainOwnerships: Attestation[] }>\n\nexport const GET_SEED_IDS = graphql(/* GraphQL */ `\n query GetSeedIds($where: AttestationWhereInput!) {\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n }\n }\n`) as TypedDocumentNode<{ itemSeedIds: Attestation[] }>\n\nexport const GET_STORAGE_TRANSACTION_ID = graphql(/* GraphQL */ `\n query GetStorageTransactionId($where: AttestationWhereInput!) {\n storageTransactionId: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n id\n decodedDataJson\n }\n }\n`) as TypedDocumentNode<{ storageTransactionId: Attestation[] }>\n\nexport const GET_VERSIONS = graphql(/* GraphQL */ `\n query GetVersions($where: AttestationWhereInput!) {\n itemVersions: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ itemVersions: Attestation[] }>\n\nexport const GET_PROPERTIES = graphql(/* GraphQL */ `\n query GetProperties($where: AttestationWhereInput!) {\n itemProperties: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ itemProperties: Attestation[] }>\n\nexport const GET_ALL_PROPERTIES_FOR_ALL_VERSIONS = graphql(/* GraphQL */ `\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\n allProperties: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ allProperties: Attestation[] }>\n\nexport const GET_FILES_METADATA = graphql(/* GraphQL */ `\n query GetFilesMetadata($where: AttestationWhereInput!) {\n filesMetadata: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ filesMetadata: Attestation[] }>\n\nexport const GET_IMAGE_SEEDS = graphql(/* GraphQL */ `\n query GetImageSeeds($where: AttestationWhereInput!) {\n imageSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n decodedDataJson\n attester\n schema {\n schemaNames {\n name\n }\n }\n refUID\n revoked\n schemaId\n txid\n timeCreated\n time\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ imageSeeds: Attestation[] }>\n\nexport const GET_IMAGE_VERSIONS = graphql(/* GraphQL */ `\n query GetImageVersions($where: AttestationWhereInput!) {\n imageVersions: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ imageVersions: Attestation[] }>\n\n/** Just enough of each attestation to tell what changed: see getAttestationChangesSince. */\nexport const GET_ATTESTATION_CHANGES = graphql(/* GraphQL */ `\n query GetAttestationChanges($where: AttestationWhereInput!) {\n changes: attestations(where: $where) {\n id\n refUID\n timeCreated\n revocationTime\n }\n }\n`) as TypedDocumentNode<{\n changes: Array<Pick<Attestation, 'id' | 'refUID' | 'timeCreated' | 'revocationTime'>>\n}>\n","import { checksumAddress } from './utils.js'\nimport { pickLatestPropertyAttestationsByRefAndSchema } from './easPropertyCanonical.js'\nimport { keepAttestationsFromRefAttester } from './easRefAttester.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { getEasEndpoint } from './easEndpoint.js'\nimport { timedFetchQuery } from './easTiming.js'\nimport { VERSION_SCHEMA_UID } from './constants.js'\nimport {\n GET_PROPERTIES,\n GET_SCHEMAS,\n GET_SEEDS,\n GET_ATTESTATION_CHANGES,\n GET_SEEDS_LEAN,\n GET_VERSIONS,\n} from './queries.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type { Attestation, Schema as EASSchema } from './graphql/gql/graphql.js'\n\n/**\n * Version attestations of the given seeds, newest first. Filters on {@link VERSION_SCHEMA_UID}:\n * other attestations use seed uids as `refUID` too (PublishedBy sidecars, for one), and one from\n * the seed's own attester would otherwise be taken as its newest version.\n */\nexport const getItemVersionsFromEas = async ({\n seedUids,\n excludeRevoked = true,\n}: {\n seedUids: string[]\n excludeRevoked?: boolean\n}): Promise<Attestation[]> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const versionsOfSeeds = { refUID: { in: seedUids }, schemaId: { equals: VERSION_SCHEMA_UID } }\n const where = excludeRevoked ? withExcludeRevokedFilter(versionsOfSeeds) : versionsOfSeeds\n\n const { itemVersions } = (await timedFetchQuery(queryClient, {\n queryKey: [`getVersionsForAllModels`, [...seedUids].sort(), excludeRevoked],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where,\n }),\n })) as { itemVersions: Attestation[] }\n\n return itemVersions\n}\n\nexport const getItemPropertiesFromEas = async ({\n versionUids,\n excludeRevoked = true,\n}: {\n versionUids: string[]\n excludeRevoked?: boolean\n}): Promise<Attestation[]> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const where = excludeRevoked\n ? withExcludeRevokedFilter({ refUID: { in: versionUids } })\n : { refUID: { in: versionUids } }\n\n const { itemProperties } = (await timedFetchQuery(queryClient, {\n queryKey: [`getPropertiesForAllModels`, [...versionUids].sort(), excludeRevoked],\n queryFn: async () =>\n easClient.request(GET_PROPERTIES, {\n where,\n }),\n })) as { itemProperties: Attestation[] }\n\n return itemProperties\n}\n\n/**\n * Canonical properties of the given versions: the newest per version and property schema.\n *\n * By default only attestations from the right accounts count (easRefAttester.ts): a version must\n * be attested by its seed's attester, and a property by its version's. Anyone can attest with any\n * refUID, so without this another account's newer property would win. That costs two more\n * requests (the versions and their seeds); pass `checkAttesters: false` when the versions are\n * already known to be trusted.\n */\nexport const getCanonicalItemPropertiesFromEas = async ({\n versionUids,\n excludeRevoked,\n checkAttesters = true,\n}: {\n versionUids: string[]\n excludeRevoked?: boolean\n checkAttesters?: boolean\n}): Promise<Attestation[]> => {\n const itemProperties = await getItemPropertiesFromEas({ versionUids, excludeRevoked })\n if (!checkAttesters || itemProperties.length === 0) {\n return pickLatestPropertyAttestationsByRefAndSchema(itemProperties)\n }\n\n const easClient = BaseEasClient.getEasClient()\n const { itemVersions } = (await easClient.request(GET_VERSIONS, {\n where: {\n id: { in: [...new Set(itemProperties.map((p) => p.refUID))] },\n schemaId: { equals: VERSION_SCHEMA_UID },\n },\n })) as { itemVersions: Attestation[] }\n const seedUids = [...new Set(itemVersions.map((v) => v.refUID))]\n const { itemSeeds } = (await easClient.request(GET_SEEDS_LEAN, {\n where: { id: { in: seedUids } },\n take: seedUids.length,\n skip: 0,\n })) as { itemSeeds: Attestation[] }\n\n // A version whose seed EAS didn't return can't be checked, so it doesn't count.\n const knownSeedUids = new Set(itemSeeds.map((seed) => seed.id))\n const trustedVersions = keepAttestationsFromRefAttester(\n itemVersions.filter((version) => knownSeedUids.has(version.refUID)),\n itemSeeds,\n )\n const trustedVersionUids = new Set(trustedVersions.map((version) => version.id))\n const trustedProperties = keepAttestationsFromRefAttester(\n itemProperties.filter((property) => trustedVersionUids.has(property.refUID)),\n trustedVersions,\n )\n return pickLatestPropertyAttestationsByRefAndSchema(trustedProperties)\n}\n\n/**\n * UID of the first EAS schema whose definition ends with `schemaName`, or undefined when there is\n * none or the EAS clients aren't configured. Throws when the request fails.\n */\nexport const fetchEasSchemaUidBySchemaName = async ({\n schemaName,\n}: {\n schemaName: string\n}): Promise<string | undefined> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n if (!queryClient || !easClient) {\n return undefined\n }\n\n const { schemas } = (await timedFetchQuery(queryClient, {\n queryKey: [`getEasSchemaUidBySchemaName`, schemaName],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n endsWith: schemaName,\n },\n },\n }),\n })) as { schemas: Array<{ id: string }> }\n\n if (!schemas || schemas.length === 0) {\n return undefined\n }\n\n return schemas[0]!.id\n}\n\nexport const getEasSchemaUidBySchemaName = async ({\n schemaName,\n}: {\n schemaName: string\n}): Promise<string | undefined> => {\n try {\n return await fetchEasSchemaUidBySchemaName({ schemaName })\n } catch (error) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Failed to fetch schema for schema name ${schemaName}:`, error)\n }\n return undefined\n }\n}\n\nexport const getSeedsFromSchemaUids = async ({\n schemaUids,\n addresses,\n excludeRevoked = true,\n}: {\n schemaUids: string[]\n addresses: string[]\n excludeRevoked?: boolean\n}) => {\n const attesterAddresses = addresses.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n })\n let where: Record<string, unknown> = {\n attester: {\n in: attesterAddresses,\n },\n schemaId: {\n in: schemaUids,\n },\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await timedFetchQuery(queryClient, {\n queryKey: [\n `getSeedsForAllModels`,\n excludeRevoked,\n [...schemaUids].sort(),\n [...addresses].sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_SEEDS, {\n where,\n }),\n })) as { itemSeeds: Attestation[] }\n\n return itemSeeds\n}\n\n/**\n * Seeds of the schema named `schemaName`, newest first, revoked ones left out. With `uidPrefix`,\n * only seeds whose UID starts with it; easscan matches it case-sensitively, so pass it lowercase\n * with `0x`.\n */\nexport const getSeedsBySchemaName = async (\n schemaName: string,\n limit: number = 10,\n skip?: number,\n options?: { uidPrefix?: string },\n) => {\n const skipVal = skip ?? 0\n const uidPrefix = options?.uidPrefix\n const variables = {\n where: withExcludeRevokedFilter({\n ...(uidPrefix !== undefined ? { id: { startsWith: uidPrefix } } : {}),\n schema: {\n is: {\n schemaNames: {\n some: {\n name: {\n equals: schemaName,\n },\n },\n },\n },\n },\n }),\n take: limit,\n skip: skipVal,\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await timedFetchQuery(queryClient, {\n queryKey: [`getSeedsBySchemaName`, schemaName, limit, skipVal, uidPrefix ?? null],\n queryFn: async () => easClient.request(GET_SEEDS_LEAN, variables),\n })) as { itemSeeds: Attestation[] }\n\n // Every seed matched `schemaName`, so it is attached here instead of selected (see GET_SEEDS_LEAN).\n return itemSeeds.map((seed) => withSchemaNames(seed, [schemaName]))\n}\n\nconst withSchemaNames = (seed: Attestation, names: string[]): Attestation =>\n ({ ...seed, schema: { schemaNames: names.map((name) => ({ name })) } }) as Attestation\n\n/** Found schema names by endpoint and schema UID. A schema's names don't change once found. */\nconst schemaNamesBySchemaUid = new Map<string, string[]>()\n\nconst schemaNamesCacheKey = (schemaUid: string): string => {\n let endpoint = ''\n try {\n endpoint = getEasEndpoint()\n } catch {\n // Misconfigured chain: the request itself will fail.\n }\n return `${endpoint}\\n${schemaUid.toLowerCase()}`\n}\n\n/** Clears the schema-name cache of getSchemaNamesBySchemaUids. For tests. */\nexport const resetSchemaNamesCache = (): void => {\n schemaNamesBySchemaUid.clear()\n}\n\n/**\n * Names of each EAS schema in `schemaUids`, in EAS order, keyed by the UID as given. Schemas with\n * no name are left out. Found names are cached for the process; schemas without one are asked\n * again next time.\n */\nexport const getSchemaNamesBySchemaUids = async (\n schemaUids: string[],\n): Promise<Map<string, string[]>> => {\n const result = new Map<string, string[]>()\n const missing: string[] = []\n for (const uid of new Set(schemaUids)) {\n const cached = schemaNamesBySchemaUid.get(schemaNamesCacheKey(uid))\n if (cached) result.set(uid, cached)\n else missing.push(uid)\n }\n if (missing.length === 0) return result\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n const { schemas } = (await timedFetchQuery(queryClient, {\n queryKey: [`getSchemaNamesBySchemaUids`, [...missing].sort()],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: { id: { in: missing } },\n }),\n })) as { schemas: Array<{ id: string; schemaNames?: Array<{ name: string }> }> }\n\n const byLowerUid = new Map(missing.map((uid) => [uid.toLowerCase(), uid]))\n for (const schema of schemas ?? []) {\n const names = (schema.schemaNames ?? []).map((n) => n.name)\n const uid = byLowerUid.get(schema.id.toLowerCase())\n if (!uid || names.length === 0) continue\n schemaNamesBySchemaUid.set(schemaNamesCacheKey(uid), names)\n result.set(uid, names)\n }\n return result\n}\n\n/**\n * Seed attestations whose UID is in `uids`, newest first, with `schema.schemaNames` attached from\n * their `schemaId` (the seeds themselves are fetched without that join, which is slow on easscan).\n */\nexport const getSeedsByUidsFromEas = async ({\n uids,\n excludeRevoked = true,\n}: {\n uids: string[]\n excludeRevoked?: boolean\n}): Promise<Attestation[]> => {\n if (uids.length === 0) return []\n const where = excludeRevoked ? withExcludeRevokedFilter({ id: { in: uids } }) : { id: { in: uids } }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n const { itemSeeds } = (await timedFetchQuery(queryClient, {\n queryKey: [`getSeedsByUidsFromEas`, [...uids].sort(), excludeRevoked],\n queryFn: async () => easClient.request(GET_SEEDS_LEAN, { where, take: uids.length, skip: 0 }),\n })) as { itemSeeds: Attestation[] }\n\n const seeds = itemSeeds ?? []\n const namesBySchemaUid = await getSchemaNamesBySchemaUids(seeds.map((seed) => seed.schemaId))\n return seeds.map((seed) => withSchemaNames(seed, namesBySchemaUid.get(seed.schemaId) ?? []))\n}\n\nexport type AttestationChange = {\n id: string\n refUID: string\n timeCreated: number\n /** Unix seconds; 0 when not revoked. */\n revocationTime: number\n}\n\n/** UIDs per `in` filter, so a request body stays a few dozen KB. */\nconst CHANGES_UIDS_PER_REQUEST = 400\n\n/**\n * Attestations created or revoked after `since` (unix seconds) that either reference one of\n * `refUIDs` (new or revoked Versions of a Seed, properties of a Version) or are one of `ids`\n * (a revoked Seed). Revoked ones are included: a revocation is a change. Large lists are split\n * over several requests, run concurrently.\n */\nexport const getAttestationChangesSince = async ({\n refUIDs,\n ids,\n since,\n}: {\n refUIDs: string[]\n ids: string[]\n since: number\n}): Promise<AttestationChange[]> => {\n const changedSince = { OR: [{ timeCreated: { gt: since } }, { revocationTime: { gt: since } }] }\n const filters: Record<string, unknown>[] = []\n const pushChunks = (field: 'refUID' | 'id', uids: string[]) => {\n const unique = [...new Set(uids)].sort()\n for (let i = 0; i < unique.length; i += CHANGES_UIDS_PER_REQUEST) {\n filters.push({ [field]: { in: unique.slice(i, i + CHANGES_UIDS_PER_REQUEST) } })\n }\n }\n pushChunks('refUID', refUIDs)\n pushChunks('id', ids)\n if (filters.length === 0) return []\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n const responses = await Promise.all(\n filters.map((filter) =>\n timedFetchQuery(queryClient, {\n queryKey: [`getAttestationChangesSince`, filter, since],\n queryFn: async () =>\n easClient.request(GET_ATTESTATION_CHANGES, { where: { AND: [filter, changedSince] } }),\n }) as Promise<{ changes: AttestationChange[] }>,\n ),\n )\n\n const byId = new Map<string, AttestationChange>()\n for (const { changes } of responses) {\n for (const change of changes ?? []) byId.set(change.id, change)\n }\n return [...byId.values()]\n}\n\nexport const getSeedUidsBySchemaName = async (schemaName: string, limit: number = 10) => {\n const itemSeeds = await getSeedsBySchemaName(schemaName, limit)\n return itemSeeds.map((seed: Attestation) => seed.id)\n}\n","import { ZERO_BYTES32 } from './constants.js'\n\n/**\n * True when the value is not a real EAS attestation UID stored in SQLite\n * (missing, empty, legacy 'NULL' sentinel, or zero bytes32).\n */\nexport function isPlaceholderUid(value: string | null | undefined): boolean {\n if (value == null || value === '') return true\n if (value === 'NULL') return true\n const v = value.trim()\n if (v === '') return true\n if (v.toLowerCase() === ZERO_BYTES32.toLowerCase()) return true\n return false\n}\n\n/**\n * Strict EAS attestation UID: 0x-prefixed 32-byte hex (case-insensitive 0x / hex body).\n * Excludes placeholders and ZERO_BYTES32.\n */\nexport function isValidEasAttestationUid(value: string | null | undefined): boolean {\n if (isPlaceholderUid(value)) return false\n const v = String(value).trim()\n if (!/^0x/i.test(v)) return false\n const hex = v.slice(2)\n if (hex.length !== 64) return false\n return /^[0-9a-fA-F]{64}$/.test(hex)\n}\n\n/** Normalize bytes32 hex strings for case-insensitive comparison (schema UIDs, etc.). */\nexport function normalizeBytes32Hex(value: string | null | undefined): string {\n if (value == null || value === '') return ''\n const raw = String(value).trim()\n const body = raw.startsWith('0x') || raw.startsWith('0X') ? raw.slice(2) : raw\n const hex = body.replace(/[^0-9a-fA-F]/g, '0').padStart(64, '0').slice(-64)\n return ('0x' + hex).toLowerCase()\n}\n","import { keccak256Hex } from './keccak.js'\nimport { normalizeBytes32Hex } from './easUid.js'\nimport { checksumAddress } from './utils.js'\n\n/** EAS schema definition for tool domain-ownership sidecar attestations (revocable). */\nexport const DOMAIN_OWNERSHIP_SCHEMA_DEF =\n 'string domain,address claimer,string method,bytes32 challengeHash,uint64 verifiedAt,string registryCreationDate,string registryExpirationDate,bytes32 registryFingerprint,string scope'\n\n/** Schema #1 display name for {@link DOMAIN_OWNERSHIP_SCHEMA_DEF}. */\nexport const DOMAIN_OWNERSHIP_SCHEMA_NAME = 'seedprotocol.domainOwnership'\n\n/** Challenge method stored on-chain. */\nexport const DOMAIN_OWNERSHIP_METHOD = 'dns-txt-challenge'\n\n/** Default scope: registrable domain (eTLD+1). */\nexport const DOMAIN_OWNERSHIP_SCOPE_REGISTRABLE = 'registrable'\n\n/** Exact-hostname scope: the challenge was published on this hostname, not on its eTLD+1. */\nexport const DOMAIN_OWNERSHIP_SCOPE_HOSTNAME = 'hostname'\n\n/** Underscored DNS owner-name prefix (IETF domain control validation style). */\nexport const DOMAIN_OWNERSHIP_TXT_LABEL = '_seedprotocol-challenge'\n\n/** Default challenge lifetime (72 hours). */\nexport const DOMAIN_OWNERSHIP_CHALLENGE_TTL_MS = 72 * 60 * 60 * 1000\n\n/** Soft staleness window when no live registry snapshot is available (365 days). */\nexport const DOMAIN_OWNERSHIP_SOFT_STALE_MS = 365 * 24 * 60 * 60 * 1000\n\n/** Fallback EAS expiration when RDAP has no expirationDate (365 days from verifiedAt). */\nexport const DOMAIN_OWNERSHIP_DEFAULT_EXPIRATION_SECS = 365 * 24 * 60 * 60\n\nexport type DomainOwnershipDecoded = {\n domain: string\n claimer: string\n method: string\n challengeHash: `0x${string}`\n verifiedAt: number\n registryCreationDate: string\n registryExpirationDate: string\n registryFingerprint: `0x${string}`\n scope: string\n}\n\nexport type DomainOwnershipTxtParts = {\n token: string\n claimer: string\n expiry: string\n}\n\nexport type DomainRegistryFingerprintInput = {\n domain: string\n creationDate?: string | null\n registrarIanaId?: string | null\n}\n\nexport type DomainOwnershipAssessStatus =\n | 'valid'\n | 'expired'\n | 'likely_transferred'\n | 'stale'\n | 'unknown'\n\nexport type DomainOwnershipAssessResult = {\n status: DomainOwnershipAssessStatus\n warnings: string[]\n}\n\ntype DecodedField = {\n name?: string\n value?: unknown\n type?: string\n}\n\nfunction utf8Bytes(s: string): Uint8Array {\n return new TextEncoder().encode(s)\n}\n\nfunction normalizeDomain(domain: string): string {\n return domain.trim().toLowerCase().replace(/\\.$/, '')\n}\n\nfunction normalizeClaimer(claimer: string): string {\n const trimmed = claimer.trim()\n try {\n return checksumAddress(trimmed).toLowerCase()\n } catch {\n return trimmed.toLowerCase()\n }\n}\n\n/**\n * DNS owner name for the challenge TXT record.\n * Example: `_seedprotocol-challenge.example.com`\n */\nexport function domainOwnershipTxtName(domain: string): string {\n return `${DOMAIN_OWNERSHIP_TXT_LABEL}.${normalizeDomain(domain)}`\n}\n\n/**\n * Build IETF-style key=value TXT RDATA for a domain ownership challenge.\n */\nexport function buildDomainOwnershipTxtValue(params: {\n token: string\n claimer: string\n expiry: string\n}): string {\n const claimer = normalizeClaimer(params.claimer)\n return `token=${params.token},addr=${claimer},expiry=${params.expiry}`\n}\n\n/**\n * Parse a domain ownership TXT RDATA value. Returns null when required keys are missing.\n */\nexport function parseDomainOwnershipTxtValue(value: string): DomainOwnershipTxtParts | null {\n const raw = value.replace(/^\"+|\"+$/g, '').trim()\n const parts = new Map<string, string>()\n for (const segment of raw.split(',')) {\n const idx = segment.indexOf('=')\n if (idx <= 0) continue\n const key = segment.slice(0, idx).trim()\n const val = segment.slice(idx + 1).trim()\n if (key) parts.set(key, val)\n }\n const token = parts.get('token')\n const claimer = parts.get('addr') ?? parts.get('claimer')\n const expiry = parts.get('expiry')\n if (!token || !claimer || !expiry) return null\n return { token, claimer: normalizeClaimer(claimer), expiry }\n}\n\n/**\n * Deterministic challenge hash: keccak256 of canonical UTF-8 material.\n * Material: `domain|claimer|token|scope` (lowercased domain/claimer).\n */\nexport function hashDomainOwnershipChallenge(params: {\n domain: string\n claimer: string\n token: string\n scope?: string\n}): `0x${string}` {\n const domain = normalizeDomain(params.domain)\n const claimer = normalizeClaimer(params.claimer)\n const scope = (params.scope ?? DOMAIN_OWNERSHIP_SCOPE_REGISTRABLE).trim()\n const material = `${domain}|${claimer}|${params.token}|${scope}`\n return ('0x' + keccak256Hex(utf8Bytes(material))) as `0x${string}`\n}\n\n/**\n * Deterministic registry fingerprint from stable RDAP fields.\n * Uses domain + creationDate + registrar IANA id (empty string when missing).\n */\nexport function hashDomainRegistryFingerprint(\n input: DomainRegistryFingerprintInput,\n): `0x${string}` {\n const payload = {\n domain: normalizeDomain(input.domain),\n creationDate: (input.creationDate ?? '').trim(),\n registrarIanaId: (input.registrarIanaId ?? '').trim(),\n }\n return ('0x' + keccak256Hex(utf8Bytes(JSON.stringify(payload)))) as `0x${string}`\n}\n\nfunction asBytes32(value: unknown): `0x${string}` {\n if (typeof value === 'string') return normalizeBytes32Hex(value) as `0x${string}`\n if (value && typeof value === 'object' && 'hex' in (value as object)) {\n return normalizeBytes32Hex(String((value as { hex: string }).hex)) as `0x${string}`\n }\n // EAS decodedDataJson nests each field's value: { name, type, value }.\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return asBytes32((value as { value: unknown }).value)\n }\n return normalizeBytes32Hex(String(value ?? '')) as `0x${string}`\n}\n\nfunction asString(value: unknown): string {\n if (typeof value === 'string') return value\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return String((value as { value: unknown }).value ?? '')\n }\n return String(value ?? '')\n}\n\nfunction asUint64(value: unknown): number {\n if (typeof value === 'number' && Number.isFinite(value)) return Math.trunc(value)\n if (typeof value === 'bigint') return Number(value)\n if (typeof value === 'string' && value.trim() !== '') {\n const n = Number(value)\n return Number.isFinite(n) ? Math.trunc(n) : 0\n }\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return asUint64((value as { value: unknown }).value)\n }\n return 0\n}\n\n/**\n * Decode DomainOwnership fields from EAS `decodedDataJson` or a JSON array of named fields.\n */\nexport function decodeDomainOwnershipData(\n data: string | DecodedField[],\n): DomainOwnershipDecoded {\n const fields: DecodedField[] =\n typeof data === 'string' ? (JSON.parse(data) as DecodedField[]) : data\n const byName = new Map<string, DecodedField>()\n for (const f of fields) {\n if (f?.name) byName.set(f.name, f)\n }\n\n return {\n domain: normalizeDomain(asString(byName.get('domain')?.value)),\n claimer: normalizeClaimer(asString(byName.get('claimer')?.value)),\n method: asString(byName.get('method')?.value),\n challengeHash: asBytes32(byName.get('challengeHash')?.value),\n verifiedAt: asUint64(byName.get('verifiedAt')?.value),\n registryCreationDate: asString(byName.get('registryCreationDate')?.value),\n registryExpirationDate: asString(byName.get('registryExpirationDate')?.value),\n registryFingerprint: asBytes32(byName.get('registryFingerprint')?.value),\n scope: asString(byName.get('scope')?.value),\n }\n}\n\nfunction isoToUnixSeconds(iso: string): number | null {\n if (!iso?.trim()) return null\n const ms = Date.parse(iso)\n if (!Number.isFinite(ms)) return null\n return Math.floor(ms / 1000)\n}\n\n/**\n * Pure validity assessment for a decoded domain-ownership attestation.\n *\n * - `registrySnapshot === undefined`: no live recheck; may return `stale`\n * - `registrySnapshot === null`: live lookup failed; returns `unknown` (unless expired)\n * - object snapshot: compares fingerprint → `likely_transferred` on mismatch\n */\nexport function assessDomainOwnership(params: {\n decoded: DomainOwnershipDecoded\n /** EAS on-chain expirationTime (unix seconds), when known. */\n expirationTime?: number | null\n now?: number\n registrySnapshot?: DomainRegistryFingerprintInput | null\n softStaleMs?: number\n}): DomainOwnershipAssessResult {\n const nowSec = Math.floor((params.now ?? Date.now()) / 1000)\n const warnings: string[] = []\n const softStaleMs = params.softStaleMs ?? DOMAIN_OWNERSHIP_SOFT_STALE_MS\n\n const easExp = params.expirationTime\n const registryExp = isoToUnixSeconds(params.decoded.registryExpirationDate)\n const expiredByEas =\n typeof easExp === 'number' && easExp > 0 && nowSec >= easExp\n const expiredByRegistry = registryExp != null && nowSec >= registryExp\n if (expiredByEas || expiredByRegistry) {\n return { status: 'expired', warnings }\n }\n\n if (params.registrySnapshot === null) {\n warnings.push('Registry lookup unavailable; ownership status is unknown')\n return { status: 'unknown', warnings }\n }\n\n if (params.registrySnapshot !== undefined) {\n const expected = hashDomainRegistryFingerprint({\n domain: params.decoded.domain,\n creationDate: params.registrySnapshot.creationDate,\n registrarIanaId: params.registrySnapshot.registrarIanaId,\n })\n if (\n normalizeBytes32Hex(expected) !==\n normalizeBytes32Hex(params.decoded.registryFingerprint)\n ) {\n warnings.push(\n 'Registry creation date or registrar IANA id no longer matches attestation fingerprint',\n )\n return { status: 'likely_transferred', warnings }\n }\n return { status: 'valid', warnings }\n }\n\n const nowMs = params.now ?? Date.now()\n const verifiedAtMs = params.decoded.verifiedAt * 1000\n if (Number.isFinite(verifiedAtMs) && verifiedAtMs > 0 && nowMs - verifiedAtMs > softStaleMs) {\n warnings.push(\n 'Attestation is older than the soft staleness window and was not rechecked against the registry',\n )\n return { status: 'stale', warnings }\n }\n\n return { status: 'valid', warnings }\n}\n","import { checksumAddress } from './utils.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { GET_DOMAIN_OWNERSHIPS } from './queries.js'\nimport {\n DOMAIN_OWNERSHIP_SCHEMA_NAME,\n decodeDomainOwnershipData,\n} from './domainOwnershipHelpers.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type GetDomainOwnershipFromEasParams = {\n /** Tool canonical wallet(s) that may have attested. */\n toolAddresses: string[]\n /** Optional domains to keep (matched against decoded `domain`, case-insensitive). */\n domains?: string[]\n /** Optional claimer addresses (EAS `recipient` filter). */\n claimers?: string[]\n /**\n * DomainOwnership schema UID. When omitted, filters by named schema\n * {@link DOMAIN_OWNERSHIP_SCHEMA_NAME}.\n */\n schemaUid?: string\n excludeRevoked?: boolean\n}\n\nfunction normalizeDomainFilter(domain: string): string {\n return domain.trim().toLowerCase().replace(/\\.$/, '')\n}\n\n/**\n * Query DomainOwnership sidecar attestations by tool attester (and optional filters).\n * Domain filters are applied client-side from `decodedDataJson`.\n */\nexport async function getDomainOwnershipFromEas(\n params: GetDomainOwnershipFromEasParams,\n): Promise<Attestation[]> {\n const {\n toolAddresses,\n domains,\n claimers,\n schemaUid,\n excludeRevoked = true,\n } = params\n if (!toolAddresses.length) return []\n\n const attesterAddresses = toolAddresses.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n })\n\n let where: Record<string, unknown> = {\n attester: { in: attesterAddresses },\n }\n\n if (schemaUid) {\n where.schemaId = { equals: schemaUid }\n } else {\n where.schema = {\n is: {\n schemaNames: {\n some: {\n name: { equals: DOMAIN_OWNERSHIP_SCHEMA_NAME },\n },\n },\n },\n }\n }\n\n if (claimers?.length) {\n where.recipient = {\n in: claimers.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n }),\n }\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { domainOwnerships } = (await queryClient.fetchQuery({\n queryKey: [\n 'getDomainOwnershipFromEas',\n excludeRevoked,\n schemaUid ?? DOMAIN_OWNERSHIP_SCHEMA_NAME,\n [...attesterAddresses].sort(),\n [...(domains ?? []).map(normalizeDomainFilter)].sort(),\n [...(claimers ?? [])].map((c) => c.toLowerCase()).sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_DOMAIN_OWNERSHIPS, {\n where,\n }),\n })) as { domainOwnerships: Attestation[] }\n\n if (!domains?.length) return domainOwnerships\n\n const want = new Set(domains.map(normalizeDomainFilter))\n return domainOwnerships.filter((row) => {\n try {\n const decoded = decodeDomainOwnershipData(row.decodedDataJson ?? '[]')\n return want.has(decoded.domain)\n } catch {\n return false\n }\n })\n}\n\nexport * from './domainOwnershipHelpers.js'\n","import { keccak256Hex } from './keccak.js'\nimport { normalizeBytes32Hex } from './easUid.js'\nimport { checksumAddress } from './utils.js'\n\n/** EAS schema definition for ManagedAccount publish-automation grants (revocable). */\nexport const PUBLISH_AUTHORIZATION_SCHEMA_DEF =\n 'address identity,address sessionKey,address app,string scopes,uint64 grantedAt,uint64 expiresAt,bytes32 permissionsHash'\n\n/** Schema #1 display name for {@link PUBLISH_AUTHORIZATION_SCHEMA_DEF}. */\nexport const PUBLISH_AUTHORIZATION_SCHEMA_NAME = 'seedprotocol.publishAuthorization'\n\n/** Fixed v1 scopes string. */\nexport const PUBLISH_AUTHORIZATION_SCOPES = 'publish,revoke'\n\n/** Default EAS expiration when grant has no expiresAt (365 days from grantedAt). */\nexport const PUBLISH_AUTHORIZATION_DEFAULT_EXPIRATION_SECS = 365 * 24 * 60 * 60\n\nexport type PublishAuthorizationDecoded = {\n identity: string\n sessionKey: string\n app: string\n scopes: string\n grantedAt: number\n expiresAt: number\n permissionsHash: `0x${string}`\n}\n\nexport type PublishAuthorizationAssessStatus = 'valid' | 'expired' | 'scope_mismatch' | 'unknown'\n\nexport type PublishAuthorizationAssessResult = {\n status: PublishAuthorizationAssessStatus\n warnings: string[]\n}\n\ntype DecodedField = {\n name?: string\n value?: unknown\n type?: string\n}\n\nfunction normalizeAddress(addr: string): string {\n const trimmed = addr.trim()\n try {\n return checksumAddress(trimmed).toLowerCase()\n } catch {\n return trimmed.toLowerCase()\n }\n}\n\nfunction asBytes32(value: unknown): `0x${string}` {\n if (typeof value === 'string') return normalizeBytes32Hex(value) as `0x${string}`\n if (value && typeof value === 'object' && 'hex' in (value as object)) {\n return normalizeBytes32Hex(String((value as { hex: string }).hex)) as `0x${string}`\n }\n return normalizeBytes32Hex(String(value ?? '')) as `0x${string}`\n}\n\nfunction asString(value: unknown): string {\n if (typeof value === 'string') return value\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return String((value as { value: unknown }).value ?? '')\n }\n return String(value ?? '')\n}\n\nfunction asUint64(value: unknown): number {\n if (typeof value === 'number' && Number.isFinite(value)) return Math.trunc(value)\n if (typeof value === 'bigint') return Number(value)\n if (typeof value === 'string' && value.trim() !== '') {\n const n = Number(value)\n return Number.isFinite(n) ? Math.trunc(n) : 0\n }\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return asUint64((value as { value: unknown }).value)\n }\n return 0\n}\n\n/**\n * Decode PublishAuthorization fields from EAS `decodedDataJson` or a JSON array of named fields.\n */\nexport function decodePublishAuthorizationData(\n data: string | DecodedField[],\n): PublishAuthorizationDecoded {\n const fields: DecodedField[] =\n typeof data === 'string' ? (JSON.parse(data) as DecodedField[]) : data\n const byName = new Map<string, DecodedField>()\n for (const f of fields) {\n if (f?.name) byName.set(f.name, f)\n }\n\n return {\n identity: normalizeAddress(asString(byName.get('identity')?.value)),\n sessionKey: normalizeAddress(asString(byName.get('sessionKey')?.value)),\n app: normalizeAddress(asString(byName.get('app')?.value)),\n scopes: asString(byName.get('scopes')?.value),\n grantedAt: asUint64(byName.get('grantedAt')?.value),\n expiresAt: asUint64(byName.get('expiresAt')?.value),\n permissionsHash: asBytes32(byName.get('permissionsHash')?.value),\n }\n}\n\n/**\n * Pure validity assessment for a decoded publish-authorization attestation.\n */\nexport function assessPublishAuthorization(params: {\n decoded: PublishAuthorizationDecoded\n /** EAS on-chain expirationTime (unix seconds), when known. */\n expirationTime?: number | null\n now?: number\n /** When set, scopes must equal this string (default: publish,revoke). */\n expectedScopes?: string\n}): PublishAuthorizationAssessResult {\n const nowSec = Math.floor((params.now ?? Date.now()) / 1000)\n const warnings: string[] = []\n const expectedScopes = params.expectedScopes ?? PUBLISH_AUTHORIZATION_SCOPES\n\n const easExp = params.expirationTime\n const grantExp = params.decoded.expiresAt\n const expiredByEas = typeof easExp === 'number' && easExp > 0 && nowSec >= easExp\n const expiredByGrant = grantExp > 0 && nowSec >= grantExp\n if (expiredByEas || expiredByGrant) {\n return { status: 'expired', warnings }\n }\n\n if (params.decoded.scopes.trim() !== expectedScopes.trim()) {\n warnings.push(`Unexpected scopes \"${params.decoded.scopes}\"; expected \"${expectedScopes}\"`)\n return { status: 'scope_mismatch', warnings }\n }\n\n if (!params.decoded.identity || !params.decoded.sessionKey) {\n warnings.push('Missing identity or sessionKey')\n return { status: 'unknown', warnings }\n }\n\n return { status: 'valid', warnings }\n}\n\n/** Re-export keccak helper used by tests / fingerprinting (permissions hash lives in publish). */\nexport function hashPublishAuthorizationMaterial(material: string): `0x${string}` {\n return ('0x' + keccak256Hex(new TextEncoder().encode(material))) as `0x${string}`\n}\n","import { checksumAddress } from './utils.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { GET_SEEDS } from './queries.js'\nimport {\n PUBLISH_AUTHORIZATION_SCHEMA_NAME,\n decodePublishAuthorizationData,\n} from './publishAuthorizationHelpers.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type GetPublishAuthorizationFromEasParams = {\n /**\n * ManagedAccount identity address(es) that attested the grant (EAS `attester`).\n * When omitted, filter by named schema only (then apply identity filters client-side).\n */\n identities?: string[]\n /** Optional session key addresses (EAS `recipient` filter). */\n sessionKeys?: string[]\n /** Optional app addresses (decoded `app`, case-insensitive). */\n apps?: string[]\n /**\n * PublishAuthorization schema UID. When omitted, filters by named schema\n * {@link PUBLISH_AUTHORIZATION_SCHEMA_NAME}.\n */\n schemaUid?: string\n excludeRevoked?: boolean\n}\n\n/**\n * Query PublishAuthorization sidecar attestations.\n */\nexport async function getPublishAuthorizationFromEas(\n params: GetPublishAuthorizationFromEasParams = {},\n): Promise<Attestation[]> {\n const {\n identities,\n sessionKeys,\n apps,\n schemaUid,\n excludeRevoked = true,\n } = params\n\n let where: Record<string, unknown> = {}\n\n if (schemaUid) {\n where.schemaId = { equals: schemaUid }\n } else {\n where.schema = {\n is: {\n schemaNames: {\n some: {\n name: { equals: PUBLISH_AUTHORIZATION_SCHEMA_NAME },\n },\n },\n },\n }\n }\n\n if (identities?.length) {\n where.attester = {\n in: identities.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n }),\n }\n }\n\n if (sessionKeys?.length) {\n where.recipient = {\n in: sessionKeys.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n }),\n }\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [\n 'getPublishAuthorizationFromEas',\n excludeRevoked,\n schemaUid ?? PUBLISH_AUTHORIZATION_SCHEMA_NAME,\n [...(identities ?? [])].map((a) => a.toLowerCase()).sort(),\n [...(sessionKeys ?? [])].map((a) => a.toLowerCase()).sort(),\n [...(apps ?? [])].map((a) => a.toLowerCase()).sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_SEEDS, {\n where,\n }),\n })) as { itemSeeds: Attestation[] }\n\n if (!apps?.length) return itemSeeds\n\n const want = new Set(apps.map((a) => a.toLowerCase()))\n return itemSeeds.filter((row) => {\n try {\n const decoded = decodePublishAuthorizationData(row.decodedDataJson ?? '[]')\n return want.has(decoded.app.toLowerCase())\n } catch {\n return false\n }\n })\n}\n\nexport * from './publishAuthorizationHelpers.js'\n","/**\n * Names on EAS (ADR 0008).\n *\n * Writing: {@link easName} is the only function that turns a local model or property name into an\n * EAS name (`HTMLPage` → `html_page`). Everything that registers, attests or looks up a schema by\n * name uses it.\n *\n * Reading: an EAS name is never turned back into a local name. It is matched against the local\n * candidates by key, at a {@link NameMatchLevel}:\n *\n * - `exact`: the EAS name is exactly `easName(local)`, what this SDK publishes.\n * - `normalized`: lowercase alphanumerics only. `html_page`, `htmlpage`, `HTMLPage` and\n * `html-page` are the same; this finds seeds published under older SDKs' names.\n * - `fuzzy`: the normalized key without a trailing plural `s`, and for relations without a\n * trailing `id`/`ids`. `posts` matches `post`, `author_id` matches the relation `author`.\n * No edit distance: `title` never matches `tile`.\n *\n * The tightest tier wins; a tie in the best tier matches nothing.\n */\n\n/**\n * The EAS name of a local model or property name: words split at lowercase-or-digit to uppercase\n * boundaries and before the last capital of an acronym, every other run of non-alphanumerics\n * turned into `_`, trimmed, lowercased.\n * `HTMLPage → html_page`, `ID3Tag → id3_tag`, `imageV2 → image_v2`, `New model → new_model`.\n */\nexport const easName = (name: string): string =>\n name\n .replace(/([a-z0-9])([A-Z])/g, '$1_$2')\n .replace(/([A-Z])([A-Z][a-z])/g, '$1_$2')\n .replace(/[^A-Za-z0-9]+/g, '_')\n .replace(/^_+|_+$/g, '')\n .toLowerCase()\n\nexport type NameMatchLevel = 'exact' | 'normalized' | 'fuzzy'\n\n/** The levels, tightest first. */\nexport const NAME_MATCH_LEVELS: readonly NameMatchLevel[] = ['exact', 'normalized', 'fuzzy']\n\nexport const isNameMatchLevel = (value: unknown): value is NameMatchLevel =>\n typeof value === 'string' && (NAME_MATCH_LEVELS as readonly string[]).includes(value)\n\n/** How closely two names matched: the tightest level that accepts them. */\nexport type NameMatchTier = NameMatchLevel\n\nconst TIER_RANK: Record<NameMatchTier, number> = { exact: 0, normalized: 1, fuzzy: 2 }\n\n/** The default level (ADR 0008 and the nameMatch design): fuzzy. */\nexport const DEFAULT_NAME_MATCH_LEVEL: NameMatchLevel = 'fuzzy'\n\n/** Lowercase alphanumerics only. */\nexport const normalizedNameKey = (name: string): string => name.toLowerCase().replace(/[^a-z0-9]/g, '')\n\n/**\n * The normalized key without a relation's trailing `ids`/`id` (when `relation`), then without a\n * trailing plural `s`. Short keys are left alone, so `ids` and `bus` stay themselves.\n */\nexport const fuzzyNameKey = (name: string, options: { relation?: boolean } = {}): string => {\n let key = normalizedNameKey(name)\n if (options.relation) {\n if (key.length > 3 && key.endsWith('ids')) key = key.slice(0, -3)\n else if (key.length > 2 && key.endsWith('id')) key = key.slice(0, -2)\n }\n if (key.length > 3 && key.endsWith('s') && !key.endsWith('ss')) key = key.slice(0, -1)\n return key\n}\n\n/**\n * The tightest tier at which a local name and a name from EAS match, or undefined. `relation`\n * says whether the local name is a relation (Relation, Image, File, Html, or a List of them).\n */\nexport function nameMatchTier(\n localName: string,\n name: string,\n options: { relation?: boolean } = {},\n): NameMatchTier | undefined {\n if (easName(localName) === name) return 'exact'\n if (normalizedNameKey(localName) === normalizedNameKey(name)) return 'normalized'\n if (fuzzyNameKey(localName, options) === fuzzyNameKey(name, options)) return 'fuzzy'\n return undefined\n}\n\nexport const isNameMatchAllowed = (tier: NameMatchTier, level: NameMatchLevel): boolean =>\n TIER_RANK[tier] <= TIER_RANK[level]\n\nexport const compareNameMatchTiers = (a: NameMatchTier, b: NameMatchTier): number =>\n TIER_RANK[a] - TIER_RANK[b]\n\nexport type NameMatchCandidate<T> = {\n value: T\n /** The local name as it is written to EAS (a list relation's storage name, for instance). */\n name: string\n relation?: boolean\n /** This candidate's level. Default {@link DEFAULT_NAME_MATCH_LEVEL}. */\n level?: NameMatchLevel\n}\n\nexport type NameMatchResult<T> =\n | { kind: 'match'; value: T; tier: NameMatchTier }\n | { kind: 'ambiguous'; values: T[]; tier: NameMatchTier }\n | { kind: 'none' }\n\n/**\n * The candidate an EAS name matches: the one in the tightest tier its own level allows. Several\n * candidates in that tier are ambiguous, and match nothing.\n */\nexport function matchEasName<T>(\n name: string,\n candidates: readonly NameMatchCandidate<T>[],\n): NameMatchResult<T> {\n let best: NameMatchTier | undefined\n let values: T[] = []\n for (const candidate of candidates) {\n const tier = nameMatchTier(candidate.name, name, { relation: candidate.relation })\n if (!tier || !isNameMatchAllowed(tier, candidate.level ?? DEFAULT_NAME_MATCH_LEVEL)) continue\n if (best === undefined || compareNameMatchTiers(tier, best) < 0) {\n best = tier\n values = [candidate.value]\n } else if (tier === best) {\n values.push(candidate.value)\n }\n }\n if (best === undefined) return { kind: 'none' }\n if (values.length > 1) return { kind: 'ambiguous', values, tier: best }\n return { kind: 'match', value: values[0]!, tier: best }\n}\n\n/**\n * The local names an EAS name matches in the tightest tier that has any (each name at `level`, or\n * at the level `level(localName)` returns). Several names can share a tier, e.g. `New model` and\n * `NewModel` for `new_model`: the caller decides whether that's ambiguous (models in different\n * schemas) or the same thing.\n */\nexport function localNamesInBestMatchTier(\n name: string,\n localNames: Iterable<string>,\n options: { relation?: boolean; level?: NameMatchLevel | ((localName: string) => NameMatchLevel) } = {},\n): Set<string> {\n const levelOf =\n typeof options.level === 'function'\n ? options.level\n : () => (options.level as NameMatchLevel | undefined) ?? DEFAULT_NAME_MATCH_LEVEL\n let best: NameMatchTier | undefined\n let names = new Set<string>()\n for (const localName of localNames) {\n const tier = nameMatchTier(localName, name, { relation: options.relation })\n if (!tier || !isNameMatchAllowed(tier, levelOf(localName))) continue\n if (best === undefined || compareNameMatchTiers(tier, best) < 0) {\n best = tier\n names = new Set([localName])\n } else if (tier === best) {\n names.add(localName)\n }\n }\n return names\n}\n\n/**\n * Names that can match `name` at the normalized level and that an SDK may have written: its EAS\n * name, and what older SDKs published (the simple snake_case: `HTMLPage` → `htmlpage`). For\n * fetching schemas by name; the results are then filtered with {@link matchEasName}.\n */\nexport function easNameVariants(name: string): string[] {\n const legacy = name.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase()\n return [...new Set([easName(name), legacy, normalizedNameKey(name)])]\n}\n\n/**\n * The EAS names to fetch schemas under for a local model name at `level`: at `exact` its EAS name\n * only; at `normalized` also {@link easNameVariants} and the name as written; at `fuzzy` also a\n * plural or singular form of each. Fetching is a superset: results are still filtered with\n * {@link matchEasName}.\n */\nexport function easNamesToFetch(name: string, level: NameMatchLevel = DEFAULT_NAME_MATCH_LEVEL): string[] {\n if (level === 'exact') return [easName(name)]\n const names = new Set<string>([...easNameVariants(name), name])\n if (level === 'fuzzy') {\n for (const variant of [...names]) names.add(variant.endsWith('s') ? variant.slice(0, -1) : `${variant}s`)\n }\n return [...names]\n}\n","/**\n * Numeric values on EAS (ADR 0010).\n *\n * The indexer's `decodedDataJson` gives a small uint (`uint8`) as a JSON number or a numeric\n * string, and a wide one (`uint256`) as `{ type: 'BigNumber', hex }`. Seed publishes Number as a\n * decimal string and Date as `uint256` Unix seconds. {@link decodeEasNumber} reads all of these.\n * Also the empty values Seed attests for a removed property (ADR 0021).\n */\n\nconst INTEGER = /^-?\\d+$/\nconst HEX = /^(-?)0x([0-9a-f]+)$/i\n\n/** `uint8` … `uint256`, `int8` … `int256`, and the bare `uint`/`int`. */\nexport function isNumericEasType(easType: string | undefined | null): boolean {\n return typeof easType === 'string' && /^u?int\\d*$/.test(easType)\n}\n\nfunction fromHex(hex: string): string | undefined {\n const match = HEX.exec(hex.trim())\n if (!match) return undefined\n const n = BigInt('0x' + match[2])\n return (match[1] ? -n : n).toString()\n}\n\n/**\n * The decimal string for a numeric EAS value, or undefined when it isn't numeric.\n *\n * Accepts a finite JSON number, a bigint, a decimal or `0x` hex string, and an ethers v5\n * `{ type: 'BigNumber', hex }` (or `{ _hex }`). Integer strings stay exact (`'9007199254740993'`);\n * other numbers come back as `String(Number(value))` (`'1.5'`, `'1e+21'`). Publish uses the same\n * function for the value it attests, so what is written and what is read agree.\n */\nexport function decodeEasNumber(value: unknown): string | undefined {\n if (typeof value === 'bigint') return value.toString()\n if (typeof value === 'number') return Number.isFinite(value) ? String(value) : undefined\n if (typeof value === 'string') {\n const s = value.trim()\n if (!s) return undefined\n if (INTEGER.test(s)) return BigInt(s).toString()\n if (HEX.test(s)) return fromHex(s)\n const n = Number(s)\n return Number.isFinite(n) ? String(n) : undefined\n }\n if (value && typeof value === 'object') {\n const hex = (value as { hex?: unknown; _hex?: unknown }).hex ?? (value as { _hex?: unknown })._hex\n if (typeof hex === 'string') return fromHex(hex)\n }\n return undefined\n}\n\n/**\n * Whether an attested value is the empty value Seed attests to record a property's removal\n * (ADR 0021): `''` for a `string`, a zero `bytes32`. Readers treat the property as absent. An\n * empty `bytes32[]` is an empty list, not a removal.\n */\nexport function isEasEmptyValue(easType: string | undefined | null, value: unknown): boolean {\n if (easType === 'string') return value === ''\n if (easType === 'bytes32') return typeof value === 'string' && /^0x0{64}$/i.test(value)\n return false\n}\n","import { keccak256Hex } from './keccak.js'\nimport { normalizeBytes32Hex, isValidEasAttestationUid } from './easUid.js'\n\n/** EAS schema definition for tool PublishedBy sidecar attestations (revocable). */\nexport const PUBLISHED_BY_SCHEMA_DEF =\n 'bytes32 seedUid,bytes32 versionUid,bytes32[] attestationUids,bytes32 batchHash,string toolName,string toolVersion'\n\n/** Schema #1 display name for {@link PUBLISHED_BY_SCHEMA_DEF}. */\nexport const PUBLISHED_BY_SCHEMA_NAME = 'seedprotocol.publishedBy'\n\nexport type PublishedByDecoded = {\n seedUid: `0x${string}`\n versionUid: `0x${string}`\n attestationUids: `0x${string}`[]\n batchHash: `0x${string}`\n toolName: string\n toolVersion: string\n}\n\nfunction hexToBytes(hex: string): Uint8Array {\n const body = hex.startsWith('0x') || hex.startsWith('0X') ? hex.slice(2) : hex\n const out = new Uint8Array(body.length / 2)\n for (let i = 0; i < out.length; i++) {\n out[i] = parseInt(body.slice(i * 2, i * 2 + 2), 16)\n }\n return out\n}\n\n/**\n * Deterministic batch hash: keccak256 of sorted UIDs concatenated (abi.encodePacked of bytes32 values).\n */\nexport function hashPublishedByBatch(uids: readonly string[]): `0x${string}` {\n const sorted = [...uids]\n .map((u) => normalizeBytes32Hex(u))\n .filter((u) => u !== '' && isValidEasAttestationUid(u))\n .sort()\n if (sorted.length === 0) {\n return ('0x' + keccak256Hex(new Uint8Array(0))) as `0x${string}`\n }\n const packed = new Uint8Array(sorted.length * 32)\n for (let i = 0; i < sorted.length; i++) {\n packed.set(hexToBytes(sorted[i]!), i * 32)\n }\n return ('0x' + keccak256Hex(packed)) as `0x${string}`\n}\n\n/**\n * Returns true when `batchHash` equals {@link hashPublishedByBatch} of `attestationUids`.\n */\nexport function verifyPublishedByBatch(params: {\n attestationUids: readonly string[]\n batchHash: string\n}): boolean {\n const expected = hashPublishedByBatch(params.attestationUids)\n return normalizeBytes32Hex(expected) === normalizeBytes32Hex(params.batchHash)\n}\n\ntype DecodedField = {\n name?: string\n value?: unknown\n type?: string\n}\n\nfunction asBytes32(value: unknown): `0x${string}` {\n if (typeof value === 'string') return normalizeBytes32Hex(value) as `0x${string}`\n if (value && typeof value === 'object' && 'hex' in (value as object)) {\n return normalizeBytes32Hex(String((value as { hex: string }).hex)) as `0x${string}`\n }\n return normalizeBytes32Hex(String(value ?? '')) as `0x${string}`\n}\n\nfunction asString(value: unknown): string {\n if (typeof value === 'string') return value\n if (value && typeof value === 'object' && 'value' in (value as object)) {\n return String((value as { value: unknown }).value ?? '')\n }\n return String(value ?? '')\n}\n\n/**\n * Decode PublishedBy fields from EAS `decodedDataJson` (preferred) or a JSON array of named fields.\n */\nexport function decodePublishedByData(data: string | DecodedField[]): PublishedByDecoded {\n const fields: DecodedField[] =\n typeof data === 'string' ? (JSON.parse(data) as DecodedField[]) : data\n const byName = new Map<string, DecodedField>()\n for (const f of fields) {\n if (f?.name) byName.set(f.name, f)\n }\n\n const rawUids = byName.get('attestationUids')?.value\n let attestationUids: `0x${string}`[] = []\n if (Array.isArray(rawUids)) {\n attestationUids = rawUids.map((u) => asBytes32(u))\n } else if (\n rawUids &&\n typeof rawUids === 'object' &&\n Array.isArray((rawUids as { value?: unknown }).value)\n ) {\n attestationUids = ((rawUids as { value: unknown[] }).value).map((u) => asBytes32(u))\n }\n\n return {\n seedUid: asBytes32(byName.get('seedUid')?.value),\n versionUid: asBytes32(byName.get('versionUid')?.value),\n attestationUids,\n batchHash: asBytes32(byName.get('batchHash')?.value),\n toolName: asString(byName.get('toolName')?.value),\n toolVersion: asString(byName.get('toolVersion')?.value),\n }\n}\n","import { checksumAddress } from './utils.js'\nimport { withExcludeRevokedFilter } from './easRevokedFilter.js'\nimport { BaseEasClient } from './EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from './QueryClient/BaseQueryClient.js'\nimport { GET_SEEDS } from './queries.js'\nimport { PUBLISHED_BY_SCHEMA_NAME } from './publishedByHelpers.js'\nimport type { Attestation } from './graphql/gql/graphql.js'\n\nexport type GetPublishedByFromEasParams = {\n /** Tool canonical wallet(s) that may have attested. */\n toolAddresses: string[]\n /** Optional seed UIDs used as refUID on the sidecar. */\n refUIDs?: string[]\n /**\n * PublishedBy schema UID. When omitted, filters by named schema\n * {@link PUBLISHED_BY_SCHEMA_NAME}.\n */\n schemaUid?: string\n excludeRevoked?: boolean\n}\n\n/**\n * Query PublishedBy sidecar attestations by tool attester (and optional refUID / schema).\n */\nexport async function getPublishedByFromEas(\n params: GetPublishedByFromEasParams,\n): Promise<Attestation[]> {\n const { toolAddresses, refUIDs, schemaUid, excludeRevoked = true } = params\n if (!toolAddresses.length) return []\n\n const attesterAddresses = toolAddresses.map((a) => {\n try {\n return checksumAddress(a)\n } catch {\n return a\n }\n })\n\n let where: Record<string, unknown> = {\n attester: { in: attesterAddresses },\n }\n\n if (schemaUid) {\n where.schemaId = { equals: schemaUid }\n } else {\n where.schema = {\n is: {\n schemaNames: {\n some: {\n name: { equals: PUBLISHED_BY_SCHEMA_NAME },\n },\n },\n },\n }\n }\n\n if (refUIDs?.length) {\n where.refUID = { in: refUIDs }\n }\n\n if (excludeRevoked) {\n where = withExcludeRevokedFilter(where)\n }\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeeds } = (await queryClient.fetchQuery({\n queryKey: [\n 'getPublishedByFromEas',\n excludeRevoked,\n schemaUid ?? PUBLISHED_BY_SCHEMA_NAME,\n [...attesterAddresses].sort(),\n [...(refUIDs ?? [])].sort(),\n ],\n queryFn: async () =>\n easClient.request(GET_SEEDS, {\n where,\n }),\n })) as { itemSeeds: Attestation[] }\n\n return itemSeeds\n}\n\nexport * from './publishedByHelpers.js'\n","import { BaseEasClient } from '../EasClient/BaseEasClient.js'\nimport { BaseQueryClient } from '../QueryClient/BaseQueryClient.js'\nimport { DefaultEasClient } from './EasClient.js'\nimport { DefaultQueryClient } from './QueryClient.js'\n\nexport { DefaultEasClient } from './EasClient.js'\nexport { DefaultQueryClient } from './QueryClient.js'\n\n/**\n * Register the default EAS + query clients for whichever of the two has no implementation yet.\n * Clients a host already registered (e.g. the SDK's browser clients) are left in place.\n */\nexport function ensureEasPlatform(): void {\n if (!BaseEasClient.isConfigured()) BaseEasClient.configure(new DefaultEasClient())\n if (!BaseQueryClient.isConfigured()) BaseQueryClient.configure(new DefaultQueryClient())\n}\n","import { fetchEasSchemaUidBySchemaName } from '../api.js'\nimport { BaseEasClient } from '../EasClient/BaseEasClient.js'\nimport { getEasEndpoint } from '../easEndpoint.js'\nimport { BaseQueryClient } from '../QueryClient/BaseQueryClient.js'\nimport { GET_SCHEMA_BY_NAME } from '../queries.js'\nimport { toSnakeCase } from '../utils.js'\nimport { easName } from '../easNames.js'\n\nconst schemaUidForSchemaDefinition = new Map<string, string>()\nconst schemaUidForModel = new Map<string, string>()\n\n/**\n * How long a schema lookup that found nothing is remembered. Item creation looks up the same\n * property and model schemas for every item, and most local models have none on EAS, so misses are\n * cached too. After this, the next lookup asks EAS again, so a schema registered by another client\n * is eventually found. Registering a schema in this client forgets the misses it answers at once.\n */\nexport const SCHEMA_LOOKUP_MISS_TTL_MS = 5 * 60 * 1000\n\n/** Found UIDs from exact-definition lookups (createMetadata / updateMetadata), by endpoint and definition. */\nconst schemaUidForExactDefinition = new Map<string, string>()\n/** Lookup key → time its cached miss expires. */\nconst lookupMissExpiresAt = new Map<string, number>()\nconst lookupsInFlight = new Map<string, Promise<string | undefined>>()\n/** Bumped when misses are cleared, so a lookup already in flight doesn't cache its stale miss. */\nlet missGeneration = 0\n\n/** UIDs differ per chain, so lookups are scoped to the EAS endpoint they were made against. */\nconst currentEndpoint = (): string => {\n try {\n return getEasEndpoint()\n } catch {\n // Misconfigured chain: the lookup itself will fail and isn't cached.\n return ''\n }\n}\n\nconst scopeToEndpoint = (key: string): string => `${currentEndpoint()}\\n${key}`\n\n/**\n * Runs an EAS schema lookup unless the same lookup found nothing within the last\n * SCHEMA_LOOKUP_MISS_TTL_MS. Concurrent lookups for one key share a request. Only misses are cached\n * here (callers keep their found UIDs); a lookup that throws is not cached.\n */\nexport const cachedSchemaLookup = async (\n key: string,\n lookup: () => Promise<string | undefined>,\n): Promise<string | undefined> => {\n const scopedKey = scopeToEndpoint(key)\n const missExpiresAt = lookupMissExpiresAt.get(scopedKey)\n if (missExpiresAt !== undefined) {\n if (Date.now() < missExpiresAt) return undefined\n lookupMissExpiresAt.delete(scopedKey)\n }\n\n const inFlight = lookupsInFlight.get(scopedKey)\n if (inFlight) return inFlight\n\n const generation = missGeneration\n const request = lookup()\n .then((schemaUid) => {\n if (!schemaUid && generation === missGeneration) {\n lookupMissExpiresAt.set(scopedKey, Date.now() + SCHEMA_LOOKUP_MISS_TTL_MS)\n }\n return schemaUid\n })\n .finally(() => {\n if (lookupsInFlight.get(scopedKey) === request) lookupsInFlight.delete(scopedKey)\n })\n lookupsInFlight.set(scopedKey, request)\n return request\n}\n\n/** Forgets every cached miss, so the next lookups ask EAS again. */\nexport const clearSchemaLookupMisses = (): void => {\n missGeneration++\n lookupMissExpiresAt.clear()\n lookupsInFlight.clear()\n}\n\n/**\n * Forgets the cached misses (and lookups in flight) on the current endpoint whose key `answers`\n * matches. Called when a schema becomes known, with a test for the lookups it would now satisfy.\n * Forgetting every miss here instead made each save that read a stored model UID send all\n * property lookups to EAS again.\n */\nconst forgetMisses = (answers: (key: string) => boolean): void => {\n const prefix = `${currentEndpoint()}\\n`\n const matches = (scopedKey: string) => scopedKey.startsWith(prefix) && answers(scopedKey.slice(prefix.length))\n let forgotInFlight = false\n for (const scopedKey of [...lookupMissExpiresAt.keys()]) {\n if (matches(scopedKey)) lookupMissExpiresAt.delete(scopedKey)\n }\n for (const scopedKey of [...lookupsInFlight.keys()]) {\n if (matches(scopedKey)) {\n lookupsInFlight.delete(scopedKey)\n forgotInFlight = true\n }\n }\n // A lookup in flight for a matching key would otherwise cache its stale miss when it settles.\n if (forgotInFlight) missGeneration++\n}\n\n/** Lookups a schema with this definition answers: by exact definition, or by a name it ends with. */\nconst definitionAnswers = (definition: string) => {\n const snake = toSnakeCase(definition)\n return (key: string) =>\n key === `definition:${definition}` ||\n (key.startsWith('schemaName:') && snake.endsWith(key.slice('schemaName:'.length)))\n}\n\n/** Clears every schema UID cache in this module (found UIDs and misses). For tests. */\nexport const resetSchemaUidCaches = (): void => {\n schemaUidForSchemaDefinition.clear()\n schemaUidForModel.clear()\n schemaUidForExactDefinition.clear()\n clearSchemaLookupMisses()\n}\n\nexport const setSchemaUidForSchemaDefinition = ({\n text,\n schemaUid,\n}: {\n text: string\n schemaUid: string\n}): void => {\n schemaUidForSchemaDefinition.set(toSnakeCase(text), schemaUid)\n // A miss for this definition, or for a name it ends with, may now be found.\n forgetMisses(definitionAnswers(text))\n}\n\nexport const setSchemaUidForModel = ({\n modelName,\n schemaUid,\n}: {\n modelName: string\n schemaUid: string\n}): void => {\n schemaUidForModel.set(modelName.toLowerCase(), schemaUid)\n // getEasSchemaUidForModel looks models up by EAS name.\n const modelKey = `model:${easName(modelName)}`\n forgetMisses((key) => key === modelKey)\n}\n\nexport const getSchemaUidForModelFromCache = (modelName: string): string | undefined =>\n schemaUidForModel.get(modelName.toLowerCase())\n\n/** UID cached for `text` by {@link setSchemaUidForSchemaDefinition} or an earlier lookup; no request. */\nexport const getSchemaUidForSchemaDefinitionFromCache = (text: string): string | undefined =>\n schemaUidForSchemaDefinition.get(toSnakeCase(text))\n\nexport const getEasSchemaUidForSchemaDefinition = async ({\n schemaText,\n}: {\n schemaText: string\n}): Promise<string | undefined> => {\n const textSnakeCase = toSnakeCase(schemaText)\n if (!schemaUidForSchemaDefinition.has(textSnakeCase)) {\n let schemaUid: string | undefined\n try {\n schemaUid = await cachedSchemaLookup(`schemaName:${textSnakeCase}`, () =>\n fetchEasSchemaUidBySchemaName({ schemaName: textSnakeCase }),\n )\n } catch (error) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Failed to fetch schema for schema name ${textSnakeCase}:`, error)\n }\n return undefined\n }\n // Found on EAS, not newly registered: no cached misses to clear.\n if (schemaUid) schemaUidForSchemaDefinition.set(textSnakeCase, schemaUid)\n return schemaUid\n }\n return schemaUidForSchemaDefinition.get(textSnakeCase)\n}\n\n/**\n * UID of the EAS schema whose definition is exactly `schemaDefinition` (e.g. `string title`), or\n * undefined when EAS has none or the EAS clients aren't configured. Found UIDs and misses are\n * cached (see SCHEMA_LOOKUP_MISS_TTL_MS). Throws when the request fails.\n */\nexport const getEasSchemaUidForExactDefinition = async (\n schemaDefinition: string,\n): Promise<string | undefined> => {\n const key = scopeToEndpoint(schemaDefinition)\n const cached = schemaUidForExactDefinition.get(key)\n if (cached) return cached\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n if (!queryClient || !easClient) return undefined\n\n const schemaUid = await cachedSchemaLookup(`definition:${schemaDefinition}`, async () => {\n const queryResult = await queryClient.fetchQuery({\n queryKey: ['getSchemaByDefinition', schemaDefinition],\n queryFn: async () =>\n easClient.request(GET_SCHEMA_BY_NAME, {\n where: { schema: { equals: schemaDefinition } },\n }),\n })\n // Handle both { schemas: [...] } and { data: { schemas: [...] } } formats\n const schemas =\n (queryResult as { schemas?: Array<{ id: string }> })?.schemas ??\n (queryResult as { data?: { schemas?: Array<{ id: string }> } })?.data?.schemas\n return Array.isArray(schemas) && schemas.length > 0 ? schemas[0]!.id : undefined\n })\n if (schemaUid) schemaUidForExactDefinition.set(key, schemaUid)\n return schemaUid\n}\n"],"mappings":"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"}