diff --git a/.DS_Store b/.DS_Store index 80aa16e2..49ba4403 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Server/frontend/components/FeedPost.tsx b/Server/frontend/components/FeedPost.tsx new file mode 100644 index 00000000..8cbd37a6 --- /dev/null +++ b/Server/frontend/components/FeedPost.tsx @@ -0,0 +1,39 @@ +import { MediaRenderer } from '@thirdweb-dev/react'; +import Link from 'next/link'; +import React from 'react'; +import { ExplorePublicationsQuery } from '../graphql/generated'; +import styles from '../styles/FeedPost.module.css'; + +type Props = { + publication: ExplorePublicationsQuery["explorePublications"]["items"][0]; +} + +export default function FeedPost ({publication}: Props) { + return ( +
+
+ + + {publication.profile.name || publication.profile.handle} + +
+
+

{publication.metadata.name}

+

{publication.metadata.content}

+ + { publication.metadata.media?.length > 0 && ( + + )} +
+
+ ); +}; diff --git a/Server/frontend/graphql/generated.ts b/Server/frontend/graphql/generated.ts index a47bf478..d2b6b42d 100644 --- a/Server/frontend/graphql/generated.ts +++ b/Server/frontend/graphql/generated.ts @@ -3964,6 +3964,20 @@ export type DefaultProfileQueryVariables = Exact<{ export type DefaultProfileQuery = { __typename?: 'Query', defaultProfile?: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } } | null }; +export type ProfileQueryVariables = Exact<{ + request: SingleProfileQueryRequest; +}>; + + +export type ProfileQuery = { __typename?: 'Query', profile?: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } } | null }; + +export type PublicationsQueryVariables = Exact<{ + request: PublicationsQueryRequest; +}>; + + +export type PublicationsQuery = { __typename?: 'Query', publications: { __typename?: 'PaginatedPublicationResult', items: Array<{ __typename: 'Comment', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, mainPost: { __typename?: 'Mirror', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, hasCollectedByMe: boolean, isGated: boolean, mirrorOf: { __typename?: 'Comment', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, mainPost: { __typename?: 'Mirror', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename: 'Mirror', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, hasCollectedByMe: boolean, isGated: boolean, mirrorOf: { __typename?: 'Comment', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, mainPost: { __typename?: 'Mirror', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, hasCollectedByMe: boolean, isGated: boolean, mirrorOf: { __typename?: 'Comment', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, mainPost: { __typename?: 'Mirror', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename?: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null } | { __typename: 'Post', id: any, createdAt: any, appId?: any | null, hidden: boolean, reaction?: ReactionTypes | null, mirrors: Array, hasCollectedByMe: boolean, isGated: boolean, profile: { __typename?: 'Profile', id: any, name?: string | null, bio?: string | null, isFollowedByMe: boolean, isFollowing: boolean, followNftAddress?: any | null, metadata?: any | null, isDefault: boolean, handle: any, ownedBy: any, attributes?: Array<{ __typename?: 'Attribute', displayType?: string | null, traitType?: string | null, key: string, value: string }> | null, picture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, coverPicture?: { __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null } | { __typename?: 'NftImage', contractAddress: any, tokenId: string, uri: any, verified: boolean } | null, dispatcher?: { __typename?: 'Dispatcher', address: any, canUseRelay: boolean } | null, stats: { __typename?: 'ProfileStats', totalFollowers: number, totalFollowing: number, totalPosts: number, totalComments: number, totalMirrors: number, totalPublications: number, totalCollects: number }, followModule?: { __typename?: 'FeeFollowModuleSettings', type: FollowModules, recipient: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename?: 'ProfileFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'RevertFollowModuleSettings', type: FollowModules, contractAddress: any } | { __typename?: 'UnknownFollowModuleSettings', type: FollowModules, contractAddress: any, followModuleReturnData: any } | null, onChainIdentity: { __typename?: 'OnChainIdentity', proofOfHumanity: boolean, ens?: { __typename?: 'EnsOnChainIdentity', name?: any | null } | null, sybilDotOrg: { __typename?: 'SybilDotOrgIdentity', verified: boolean, source: { __typename?: 'SybilDotOrgIdentitySource', twitter: { __typename?: 'SybilDotOrgTwitterIdentity', handle?: string | null } } }, worldcoin: { __typename?: 'WorldcoinIdentity', isHuman: boolean } } }, stats: { __typename?: 'PublicationStats', totalAmountOfMirrors: number, totalAmountOfCollects: number, totalAmountOfComments: number }, metadata: { __typename?: 'MetadataOutput', name?: string | null, description?: any | null, content?: any | null, media: Array<{ __typename?: 'MediaSet', original: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'Media', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }>, attributes: Array<{ __typename?: 'MetadataAttributeOutput', displayType?: PublicationMetadataDisplayTypes | null, traitType?: string | null, value?: string | null }>, encryptionParams?: { __typename?: 'EncryptionParamsOutput', providerSpecificParams: { __typename?: 'ProviderSpecificParamsOutput', encryptionKey: any }, accessCondition: { __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null, and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', and?: { __typename?: 'AndConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, or?: { __typename?: 'OrConditionOutput', criteria: Array<{ __typename?: 'AccessConditionOutput', nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null, nft?: { __typename?: 'NftOwnershipOutput', contractAddress: any, chainID: any, contractType: ContractType, tokenIds?: Array | null } | null, eoa?: { __typename?: 'EoaOwnershipOutput', address: any } | null, token?: { __typename?: 'Erc20OwnershipOutput', contractAddress: any, amount: string, chainID: any, condition: ScalarOperator, decimals: number } | null, profile?: { __typename?: 'ProfileOwnershipOutput', profileId: any } | null, follow?: { __typename?: 'FollowConditionOutput', profileId: any } | null, collect?: { __typename?: 'CollectConditionOutput', publicationId?: any | null, thisPublication?: boolean | null } | null }> } | null }, encryptedFields: { __typename?: 'EncryptedFieldsOutput', animation_url?: any | null, content?: any | null, external_url?: any | null, image?: any | null, media?: Array<{ __typename?: 'EncryptedMediaSet', original: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null }, small?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null, medium?: { __typename?: 'EncryptedMedia', url: any, width?: number | null, height?: number | null, mimeType?: any | null } | null }> | null } } | null }, collectModule: { __typename: 'FeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'FreeCollectModuleSettings', type: CollectModules, followerOnly: boolean, contractAddress: any } | { __typename: 'LimitedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'LimitedTimedFeeCollectModuleSettings', type: CollectModules, collectLimit: string, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'RevertCollectModuleSettings', type: CollectModules } | { __typename: 'TimedFeeCollectModuleSettings', type: CollectModules, recipient: any, referralFee: number, endTimestamp: any, amount: { __typename?: 'ModuleFeeAmount', value: string, asset: { __typename?: 'Erc20', name: string, symbol: string, decimals: number, address: any } } } | { __typename: 'UnknownCollectModuleSettings', type: CollectModules, contractAddress: any, collectModuleReturnData: any }, referenceModule?: { __typename?: 'DegreesOfSeparationReferenceModuleSettings', type: ReferenceModules, contractAddress: any, commentsRestricted: boolean, mirrorsRestricted: boolean, degreesOfSeparation: number } | { __typename?: 'FollowOnlyReferenceModuleSettings', type: ReferenceModules, contractAddress: any } | { __typename?: 'UnknownReferenceModuleSettings', type: ReferenceModules, contractAddress: any, referenceModuleReturnData: any } | null }>, pageInfo: { __typename?: 'PaginatedResultInfo', prev?: any | null, next?: any | null, totalCount?: number | null } } }; + export type RefreshMutationVariables = Exact<{ request: RefreshRequest; }>; @@ -4678,6 +4692,85 @@ export const useDefaultProfileQuery = < fetcher(DefaultProfileDocument, variables), options ); +export const ProfileDocument = ` + query profile($request: SingleProfileQueryRequest!) { + profile(request: $request) { + ...ProfileFields + } +} + ${ProfileFieldsFragmentDoc} +${MediaFieldsFragmentDoc} +${FollowModuleFieldsFragmentDoc}`; +export const useProfileQuery = < + TData = ProfileQuery, + TError = unknown + >( + variables: ProfileQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['profile', variables], + fetcher(ProfileDocument, variables), + options + ); +export const PublicationsDocument = ` + query publications($request: PublicationsQueryRequest!) { + publications(request: $request) { + items { + __typename + ... on Post { + ...PostFields + } + ... on Comment { + ...CommentFields + } + ... on Mirror { + ...MirrorFields + } + } + pageInfo { + ...CommonPaginatedResultInfoFields + } + } +} + ${PostFieldsFragmentDoc} +${ProfileFieldsFragmentDoc} +${MediaFieldsFragmentDoc} +${FollowModuleFieldsFragmentDoc} +${PublicationStatsFieldsFragmentDoc} +${MetadataOutputFieldsFragmentDoc} +${AccessConditionFieldsFragmentDoc} +${SimpleConditionFieldsFragmentDoc} +${NftOwnershipFieldsFragmentDoc} +${EoaOwnershipFieldsFragmentDoc} +${Erc20OwnershipFieldsFragmentDoc} +${ProfileOwnershipFieldsFragmentDoc} +${FollowConditionFieldsFragmentDoc} +${CollectConditionFieldsFragmentDoc} +${BooleanConditionFieldsRecursiveFragmentDoc} +${EncryptedMediaSetFieldsFragmentDoc} +${EncryptedMediaFieldsFragmentDoc} +${CollectModuleFieldsFragmentDoc} +${Erc20FieldsFragmentDoc} +${ReferenceModuleFieldsFragmentDoc} +${CommentFieldsFragmentDoc} +${CommentBaseFieldsFragmentDoc} +${MirrorBaseFieldsFragmentDoc} +${CommentMirrorOfFieldsFragmentDoc} +${MirrorFieldsFragmentDoc} +${CommonPaginatedResultInfoFieldsFragmentDoc}`; +export const usePublicationsQuery = < + TData = PublicationsQuery, + TError = unknown + >( + variables: PublicationsQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['publications', variables], + fetcher(PublicationsDocument, variables), + options + ); export const RefreshDocument = ` mutation Refresh($request: RefreshRequest!) { refresh(request: $request) { diff --git a/Server/frontend/graphql/get-profile.graphql b/Server/frontend/graphql/get-profile.graphql new file mode 100644 index 00000000..d5177dae --- /dev/null +++ b/Server/frontend/graphql/get-profile.graphql @@ -0,0 +1,5 @@ +query profile($request: SingleProfileQueryRequest!) { + profile(request: $request) { + ...ProfileFields + } +} \ No newline at end of file diff --git a/Server/frontend/graphql/get-publications.graphql b/Server/frontend/graphql/get-publications.graphql new file mode 100644 index 00000000..249aedc4 --- /dev/null +++ b/Server/frontend/graphql/get-publications.graphql @@ -0,0 +1,19 @@ +query publications($request: PublicationsQueryRequest!) { + publications(request: $request) { + items { + __typename + ... on Post { + ...PostFields + } + ... on Comment { + ...CommentFields + } + ... on Mirror { + ...MirrorFields + } + } + pageInfo { + ...CommonPaginatedResultInfoFields + } + } +} \ No newline at end of file diff --git a/Server/frontend/lib/auth/refreshAccessToken.ts b/Server/frontend/lib/auth/refreshAccessToken.ts index b4ff6fa0..9a88fa70 100644 --- a/Server/frontend/lib/auth/refreshAccessToken.ts +++ b/Server/frontend/lib/auth/refreshAccessToken.ts @@ -2,22 +2,53 @@ import { fetcher } from "../../graphql/auth-fetcher"; import { RefreshMutation, RefreshMutationVariables, RefreshDocument } from "../../graphql/generated"; import { readAccessToken, setAccessToken } from "./helpers"; + export default async function refreshAccessToken () { // Take current refresh, access token to Lens to generate a new Access token // Read refresh token from local storage const currentRefreshToken = readAccessToken()?.refreshToken; if (!currentRefreshToken) return null; - // Send refresh token to Lens - const result = await fetcher(RefreshDocument, { - request: { - refreshToken: currentRefreshToken + async function fetchData( + query: string, + variables?: Tvariables, + options?: RequestInit['headers'] + ): Promise { + const res = await fetch('https://api.lens.dev', { + method: "POST", + headers: { + 'Content-Type': 'application/json', + ...options, + 'Access-Control-Allow-Origin': "*", }, - })(); + body: JSON.stringify({ + query, + variables, + }), + }); + + const json = await res.json(); + + if (json.errors) { + const { message } = json.errors[0] || {}; + throw new Error(message || "Error..."); + }; + + return json.data; + }; // Set new refresh token - const { - accessToken, refreshToken: newRefreshToken - } = result.refresh; + const result = await fetchData< + RefreshMutation, RefreshMutationVariables + >(RefreshDocument, { + request: { + refreshToken: currentRefreshToken, + }, + }); + const { + refresh: { + accessToken, refreshToken: newRefreshToken + } + } = result; setAccessToken(accessToken, newRefreshToken); return accessToken as string; diff --git a/Server/frontend/lib/auth/useLogin.ts b/Server/frontend/lib/auth/useLogin.ts index 78db1e8a..beb8528c 100644 --- a/Server/frontend/lib/auth/useLogin.ts +++ b/Server/frontend/lib/auth/useLogin.ts @@ -1,4 +1,4 @@ -import { useMutation } from "@apollo/client"; +import { useQueryClient, useMutation } from "@tanstack/react-query"; import { useAddress, useSDK } from "@thirdweb-dev/react"; import { useAuthenticateMutation } from "../../graphql/generated"; import generateChallenge from "./generateChallenge"; @@ -9,32 +9,24 @@ import { setAccessToken } from "./helpers"; export default function useLogin() { const address = useAddress(); // Ensure user has connected wallet const sdk = useSDK(); - const { - mutateAsync: sendSignedMessage - } = useAuthenticateMutation(); + const { mutateAsync: sendSignedMessage } = useAuthenticateMutation(); + const client = useQueryClient(); - async function login () { - if (!address) { - console.error('No address found. Please try connecting your wallet to continue signing into Lens'); - return null; - } - - const { challenge } = await generateChallenge(address); // Generate challenge from the Lens API - const signature = await sdk?.wallet.sign(challenge.text); // Sign the returned challenge with the user's wallet - const { // Send the signed challenge to the Lens API - authenticate - } = await sendSignedMessage({ + async function login() { + if (!address) return; + const { challenge } = await generateChallenge(address); // Generate a challenge (for auth) from Lens API + const signature = await sdk?.wallet.sign(challenge.text); // Sign the challenge + const { authenticate } = await sendSignedMessage({ request: { address, signature, }, }); - const { accessToken, refreshToken} = authenticate; - + const { accessToken, refreshToken } = authenticate; setAccessToken(accessToken, refreshToken); + client.invalidateQueries(['lens-user', address]); } - // Receive an access token from Lens API return useMutation(login); } \ No newline at end of file diff --git a/Server/frontend/pages/index.tsx b/Server/frontend/pages/index.tsx index 72f69d36..3b95bdb3 100644 --- a/Server/frontend/pages/index.tsx +++ b/Server/frontend/pages/index.tsx @@ -1,11 +1,34 @@ -import type { NextPage } from "next"; -import useAuthenticate from '../hooks/useAuthenticate'; -import { useAddress, useDisconnect, useUser, useLogout, useMetamask, ConnectWallet } from "@thirdweb-dev/react"; -import { useEffect, useState } from "react"; -import { PublicationSortCriteria, useExplorePublicationsQuery } from "../graphql/generated"; -import useLogin from "../lib/auth/useLogin"; +import FeedPost from "../components/FeedPost"; import SignInButton from "../components/SignInButton"; +import { PublicationSortCriteria, useExplorePublicationsQuery } from "../graphql/generated"; +import styles from '../styles/Home.module.css'; export default function Home () { - return ; + const { isLoading, error, data } = useExplorePublicationsQuery({ + request: { + sortCriteria: PublicationSortCriteria.TopCollected, + }, + }, + { + refetchOnWindowFocus: false, + refetchOnReconnect: false, + }); + + if (isLoading) { + return (
Loading
) + }; + + if (error) { + return (
Error
) + }; + + return ( +
+
+ {data?.explorePublications.items.map((publication) => ( + + ))}; +
+
+ ); }; \ No newline at end of file diff --git a/Server/frontend/pages/profile/[id].tsx b/Server/frontend/pages/profile/[id].tsx new file mode 100644 index 00000000..f2ce724e --- /dev/null +++ b/Server/frontend/pages/profile/[id].tsx @@ -0,0 +1,37 @@ +import { useRouter } from 'next/router'; +import React from 'react'; +import { useProfileQuery, usePublicationsQuery } from '../../graphql/generated'; +import styles from '../../styles/Profile.module.css'; + +type Props = {} + +export default function ProfilePage({}: Props) { + const router = useRouter(); + const { id } = router.query; + const { isLoading: loadingProfile, data: profileData } = useProfileQuery({ + request: { + handle: id, + }, + }, { + enabled: !!id, + }); + + const { isLoading: isLoadingPublications, data: publicationsData } = usePublicationsQuery({ + request: { + profileId: profileData?.profile?.id + }, + }, { + enabled: !!profileData?.profile?.id, + }); + + return ( +
+
+ +
+
+ +
+
+ ) +} \ No newline at end of file diff --git a/Server/frontend/styles/FeedPost.module.css b/Server/frontend/styles/FeedPost.module.css new file mode 100644 index 00000000..ca3f873f --- /dev/null +++ b/Server/frontend/styles/FeedPost.module.css @@ -0,0 +1,48 @@ +.feedPostContainer { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + background-color: rgba(30, 30, 30, 0.9); + border: 1px solid black; + border-radius: 10px; + padding: 16px; + margin-bottom: 16px; + width: 100%; + gap: 16px; + text-align: center; +} + +.feedPostHeader { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + gap: 12px; +} + +.feedPostProfilePicture { + border-radius: 50%; + width: 48px; + height: 48px; + border: 1px solid black; +} + +.feedPostProfileName { + font-size: 16px; + font-weight: 600; +} + +.feedPostContentImage { + height: 256px; +} + +.feedPostContentTitle { + font-size: 24px; + font-weight: 600; +} + +.feedPostContentDescription { + font-size: 16px; + font-weight: 400; +} \ No newline at end of file diff --git a/Server/frontend/styles/Home.module.css b/Server/frontend/styles/Home.module.css index bd50f42f..af1b0151 100644 --- a/Server/frontend/styles/Home.module.css +++ b/Server/frontend/styles/Home.module.css @@ -1,129 +1,14 @@ .container { - padding: 0 2rem; -} - -.main { - min-height: 100vh; - padding: 4rem 0; - flex: 1; display: flex; flex-direction: column; - justify-content: center; - align-items: center; -} - -.footer { - display: flex; - flex: 1; - padding: 2rem 0; - border-top: 1px solid #eaeaea; - justify-content: center; align-items: center; -} - -.footer a { - display: flex; justify-content: center; - align-items: center; - flex-grow: 1; -} - -.title a { - color: #0070f3; - text-decoration: none; -} - -.title a:hover, -.title a:focus, -.title a:active { - text-decoration: underline; -} - -.title { - margin: 0; - line-height: 1.15; - font-size: 4rem; -} - -.title, -.description { - text-align: center; } -.description { - margin: 4rem 0; - line-height: 1.5; - font-size: 1.5rem; -} - -.code { - background: #fafafa; - border-radius: 5px; - padding: 0.75rem; - font-size: 1.1rem; - font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, - Bitstream Vera Sans Mono, Courier New, monospace; -} - -.grid { +.postsContainer { display: flex; + flex-direction: column; align-items: center; justify-content: center; - flex-wrap: wrap; max-width: 800px; -} - -.card { - margin: 1rem; - padding: 1.5rem; - text-align: left; - color: inherit; - text-decoration: none; - border: 1px solid #eaeaea; - border-radius: 10px; - transition: color 0.15s ease, border-color 0.15s ease; - max-width: 300px; -} - -.card:hover, -.card:focus, -.card:active { - color: #0070f3; - border-color: #0070f3; -} - -.card h2 { - margin: 0 0 1rem 0; - font-size: 1.5rem; -} - -.card p { - margin: 0; - font-size: 1.25rem; - line-height: 1.5; -} - -.logo { - height: 1em; - margin-left: 0.5rem; -} - -@media (max-width: 600px) { - .grid { - width: 100%; - flex-direction: column; - } -} - -@media (prefers-color-scheme: dark) { - .card, - .footer { - border-color: #222; - } - .code { - background: #111; - } - .logo img { - filter: invert(1); - } -} +} \ No newline at end of file diff --git a/Server/frontend/styles/Profile.module.css b/Server/frontend/styles/Profile.module.css new file mode 100644 index 00000000..e69de29b