Skip to content

@ecp.eth/sdk


@ecp.eth/sdk / indexer / IndexerAPIListNotificationsSchemaType

Type Alias: IndexerAPIListNotificationsSchemaType

type IndexerAPIListNotificationsSchemaType = {
  extra: {
     unseenCount: bigint;
  };
  notifications: {
     cursor: string;
     notification:   | {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        comment: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        createdAt: Date;
        id: bigint;
        replyingTo: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        seen: boolean;
        seenAt: null | Date;
        type: "reply";
      }
        | {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        comment: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        createdAt: Date;
        id: bigint;
        mentionedUser: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        seen: boolean;
        seenAt: null | Date;
        type: "mention";
      }
        | {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        comment: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        createdAt: Date;
        id: bigint;
        reactingTo: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        seen: boolean;
        seenAt: null | Date;
        type: "reaction";
      }
        | {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        comment: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        createdAt: Date;
        id: bigint;
        quotedComment: {
           app: `0x${string}`;
           author: {
              address: `0x${string}`;
              ens?: {
                 avatarUrl: null | string;
                 name: string;
              };
              farcaster?: {
                 displayName?: string;
                 fid: number;
                 pfpUrl?: string;
                 username: string;
              };
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: `0x${string}`;
              value: `0x${string}`;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${string}`;
           references: (
              | {
              address: `0x${string}`;
              avatarUrl: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "ens";
              url: string;
            }
              | {
              address: `0x${string}`;
              displayName: null | string;
              fid: number;
              fname: string;
              pfpUrl: null | string;
              position: {
                 end: number;
                 start: number;
              };
              type: "farcaster";
              url: string;
              username: string;
            }
              | {
              address: `0x${string}`;
              chainId: null | number;
              chains: {
                 caip: ...;
                 chainId: ...;
              }[];
              decimals: number;
              logoURI: null | string;
              name: string;
              position: {
                 end: number;
                 start: number;
              };
              symbol: string;
              type: "erc20";
            }
              | {
              description: null | string;
              favicon: null | string;
              mediaType: string;
              opengraph:   | null
                 | {
                 description: ...;
                 image: ...;
                 title: ...;
                 url: ...;
               };
              position: {
                 end: number;
                 start: number;
              };
              title: string;
              type: "webpage";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "file";
              url: string;
            }
              | {
              dimension?: {
                 height: ...;
                 width: ...;
              };
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
              videoTracks?: ...[];
            }
              | {
              chainId: number;
              id: `0x${string}`;
              position: {
                 end: number;
                 start: number;
              };
              type: "quoted_comment";
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        };
        seen: boolean;
        seenAt: null | Date;
        type: "quote";
      };
  }[];
  pageInfo: {
     endCursor?: string;
     hasNextPage: boolean;
     hasPreviousPage: boolean;
     startCursor?: string;
  };
};

Defined in: packages/sdk/src/indexer/schemas.ts:813

The list notifications schema returned by fetchNotifications()

Type declaration

extra

extra: {
  unseenCount: bigint;
};

extra.unseenCount

unseenCount: bigint;

notifications

notifications: {
  cursor: string;
  notification:   | {
     app: `0x${string}`;
     author: {
        address: `0x${string}`;
        ens?: {
           avatarUrl: null | string;
           name: string;
        };
        farcaster?: {
           displayName?: string;
           fid: number;
           pfpUrl?: string;
           username: string;
        };
     };
     comment: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     createdAt: Date;
     id: bigint;
     replyingTo: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     seen: boolean;
     seenAt: null | Date;
     type: "reply";
   }
     | {
     app: `0x${string}`;
     author: {
        address: `0x${string}`;
        ens?: {
           avatarUrl: null | string;
           name: string;
        };
        farcaster?: {
           displayName?: string;
           fid: number;
           pfpUrl?: string;
           username: string;
        };
     };
     comment: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     createdAt: Date;
     id: bigint;
     mentionedUser: {
        address: `0x${string}`;
        ens?: {
           avatarUrl: null | string;
           name: string;
        };
        farcaster?: {
           displayName?: string;
           fid: number;
           pfpUrl?: string;
           username: string;
        };
     };
     seen: boolean;
     seenAt: null | Date;
     type: "mention";
   }
     | {
     app: `0x${string}`;
     author: {
        address: `0x${string}`;
        ens?: {
           avatarUrl: null | string;
           name: string;
        };
        farcaster?: {
           displayName?: string;
           fid: number;
           pfpUrl?: string;
           username: string;
        };
     };
     comment: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     createdAt: Date;
     id: bigint;
     reactingTo: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     seen: boolean;
     seenAt: null | Date;
     type: "reaction";
   }
     | {
     app: `0x${string}`;
     author: {
        address: `0x${string}`;
        ens?: {
           avatarUrl: null | string;
           name: string;
        };
        farcaster?: {
           displayName?: string;
           fid: number;
           pfpUrl?: string;
           username: string;
        };
     };
     comment: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     createdAt: Date;
     id: bigint;
     quotedComment: {
        app: `0x${string}`;
        author: {
           address: `0x${string}`;
           ens?: {
              avatarUrl: null | string;
              name: string;
           };
           farcaster?: {
              displayName?: string;
              fid: number;
              pfpUrl?: string;
              username: string;
           };
        };
        chainId: number;
        channelId: bigint;
        commentType: number;
        content: string;
        createdAt: Date;
        cursor: `0x${string}`;
        deletedAt: null | Date;
        hookMetadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        id: `0x${string}`;
        logIndex: null | number;
        metadata: {
           key: `0x${string}`;
           value: `0x${string}`;
        }[];
        moderationClassifierResult: Record<string, number>;
        moderationClassifierScore: number;
        moderationStatus: "approved" | "pending" | "rejected";
        moderationStatusChangedAt: Date;
        parentId: null | `0x${string}`;
        references: (
           | {
           address: `0x${string}`;
           avatarUrl: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           type: "ens";
           url: string;
         }
           | {
           address: `0x${string}`;
           displayName: null | string;
           fid: number;
           fname: string;
           pfpUrl: null | string;
           position: {
              end: number;
              start: number;
           };
           type: "farcaster";
           url: string;
           username: string;
         }
           | {
           address: `0x${string}`;
           chainId: null | number;
           chains: {
              caip: ...;
              chainId: ...;
           }[];
           decimals: number;
           logoURI: null | string;
           name: string;
           position: {
              end: number;
              start: number;
           };
           symbol: string;
           type: "erc20";
         }
           | {
           description: null | string;
           favicon: null | string;
           mediaType: string;
           opengraph:   | null
              | {
              description: ...;
              image: ...;
              title: ...;
              url: ...;
            };
           position: {
              end: number;
              start: number;
           };
           title: string;
           type: "webpage";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "file";
           url: string;
         }
           | {
           dimension?: {
              height: ...;
              width: ...;
           };
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
           videoTracks?: ...[];
         }
           | {
           chainId: number;
           id: `0x${string}`;
           position: {
              end: number;
              start: number;
           };
           type: "quoted_comment";
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     };
     seen: boolean;
     seenAt: null | Date;
     type: "quote";
   };
}[];

pageInfo

pageInfo: {
  endCursor?: string;
  hasNextPage: boolean;
  hasPreviousPage: boolean;
  startCursor?: string;
};

pageInfo.endCursor?

optional endCursor: string;

pageInfo.hasNextPage

hasNextPage: boolean;

pageInfo.hasPreviousPage

hasPreviousPage: boolean;

pageInfo.startCursor?

optional startCursor: string;