Skip to content

@ecp.eth/sdk


@ecp.eth/sdk / indexer / IndexerAPIListCommentsSchemaType

Type Alias: IndexerAPIListCommentsSchemaType

type IndexerAPIListCommentsSchemaType = {
  extra: {
     moderationEnabled: boolean;
     moderationKnownReactions: string[];
  };
  pagination: {
     endCursor?: `0x${string}`;
     hasNext: boolean;
     hasPrevious: boolean;
     limit: number;
     startCursor?: `0x${string}`;
  };
  results: {
     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}`;
     reactionCounts: Record<string, number>;
     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: string;
           chainId: number;
        }[];
        decimals: number;
        logoURI: null | string;
        name: string;
        position: {
           end: number;
           start: number;
        };
        symbol: string;
        type: "erc20";
      }
        | {
        description: null | string;
        favicon: null | string;
        opengraph:   | null
           | {
           description: null | string;
           image: string;
           title: string;
           url: string;
         };
        position: {
           end: number;
           start: number;
        };
        title: string;
        type: "webpage";
        url: string;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "file";
        url: string;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "image";
        url: string;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "video";
        url: string;
     })[];
     replies: {
        extra: {
           moderationEnabled: boolean;
           moderationKnownReactions: string[];
        };
        pagination: {
           endCursor?: `0x${string}`;
           hasNext: boolean;
           hasPrevious: boolean;
           limit: number;
           startCursor?: `0x${string}`;
        };
        results: {
           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}`;
           reactionCounts: Record<string, number>;
           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;
              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;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "image";
              url: string;
            }
              | {
              mediaType: string;
              position: {
                 end: number;
                 start: number;
              };
              type: "video";
              url: string;
           })[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           viewerReactions: Record<string, {
              app: `0x${string}`;
              author: {
                 address: `0x${(...)}`;
                 ens?: ... | ...;
                 farcaster?: ... | ...;
              };
              chainId: number;
              channelId: bigint;
              commentType: number;
              content: string;
              createdAt: Date;
              cursor: `0x${string}`;
              deletedAt: null | Date;
              hookMetadata: {
                 key: ...;
                 value: ...;
              }[];
              id: `0x${string}`;
              logIndex: null | number;
              metadata: {
                 key: ...;
                 value: ...;
              }[];
              moderationClassifierResult: Record<string, number>;
              moderationClassifierScore: number;
              moderationStatus: "approved" | "pending" | "rejected";
              moderationStatusChangedAt: Date;
              parentId: null | `0x${(...)}`;
              references: (... | ... | ... | ... | ... | ... | ...)[];
              revision: number;
              targetUri: string;
              txHash: `0x${string}`;
              updatedAt: Date;
              zeroExSwap:   | null
                 | {
                 from: ...;
                 to: ...;
               };
           }[]>;
           zeroExSwap:   | null
              | {
              from: {
                 address: `0x${string}`;
                 amount: string;
                 symbol: string;
              };
              to: {
                 address: "" | `0x${(...)}`;
                 amount: string;
                 symbol: string;
              };
            };
        }[];
     };
     revision: number;
     targetUri: string;
     txHash: `0x${string}`;
     updatedAt: Date;
     viewerReactions: Record<string, {
        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;
           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;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
        })[];
        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;
           };
         };
     }[]>;
     zeroExSwap:   | null
        | {
        from: {
           address: `0x${string}`;
           amount: string;
           symbol: string;
        };
        to: {
           address: "" | `0x${string}`;
           amount: string;
           symbol: string;
        };
      };
  }[];
};

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

Type declaration

extra

extra: {
  moderationEnabled: boolean;
  moderationKnownReactions: string[];
} = IndexerAPIExtraSchema;

extra.moderationEnabled

moderationEnabled: boolean;

extra.moderationKnownReactions

moderationKnownReactions: string[];

pagination

pagination: {
  endCursor?: `0x${string}`;
  hasNext: boolean;
  hasPrevious: boolean;
  limit: number;
  startCursor?: `0x${string}`;
} = IndexerAPICursorPaginationSchema;

pagination.endCursor?

optional endCursor: `0x${string}`;

pagination.hasNext

hasNext: boolean;

pagination.hasPrevious

hasPrevious: boolean;

pagination.limit

limit: number;

pagination.startCursor?

optional startCursor: `0x${string}`;

results

results: {
  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}`;
  reactionCounts: Record<string, number>;
  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: string;
        chainId: number;
     }[];
     decimals: number;
     logoURI: null | string;
     name: string;
     position: {
        end: number;
        start: number;
     };
     symbol: string;
     type: "erc20";
   }
     | {
     description: null | string;
     favicon: null | string;
     opengraph:   | null
        | {
        description: null | string;
        image: string;
        title: string;
        url: string;
      };
     position: {
        end: number;
        start: number;
     };
     title: string;
     type: "webpage";
     url: string;
   }
     | {
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "file";
     url: string;
   }
     | {
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "image";
     url: string;
   }
     | {
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "video";
     url: string;
  })[];
  replies: {
     extra: {
        moderationEnabled: boolean;
        moderationKnownReactions: string[];
     };
     pagination: {
        endCursor?: `0x${string}`;
        hasNext: boolean;
        hasPrevious: boolean;
        limit: number;
        startCursor?: `0x${string}`;
     };
     results: {
        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}`;
        reactionCounts: Record<string, number>;
        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;
           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;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "image";
           url: string;
         }
           | {
           mediaType: string;
           position: {
              end: number;
              start: number;
           };
           type: "video";
           url: string;
        })[];
        revision: number;
        targetUri: string;
        txHash: `0x${string}`;
        updatedAt: Date;
        viewerReactions: Record<string, {
           app: `0x${string}`;
           author: {
              address: `0x${(...)}`;
              ens?: ... | ...;
              farcaster?: ... | ...;
           };
           chainId: number;
           channelId: bigint;
           commentType: number;
           content: string;
           createdAt: Date;
           cursor: `0x${string}`;
           deletedAt: null | Date;
           hookMetadata: {
              key: ...;
              value: ...;
           }[];
           id: `0x${string}`;
           logIndex: null | number;
           metadata: {
              key: ...;
              value: ...;
           }[];
           moderationClassifierResult: Record<string, number>;
           moderationClassifierScore: number;
           moderationStatus: "approved" | "pending" | "rejected";
           moderationStatusChangedAt: Date;
           parentId: null | `0x${(...)}`;
           references: (... | ... | ... | ... | ... | ... | ...)[];
           revision: number;
           targetUri: string;
           txHash: `0x${string}`;
           updatedAt: Date;
           zeroExSwap:   | null
              | {
              from: ...;
              to: ...;
            };
        }[]>;
        zeroExSwap:   | null
           | {
           from: {
              address: `0x${string}`;
              amount: string;
              symbol: string;
           };
           to: {
              address: "" | `0x${(...)}`;
              amount: string;
              symbol: string;
           };
         };
     }[];
  };
  revision: number;
  targetUri: string;
  txHash: `0x${string}`;
  updatedAt: Date;
  viewerReactions: Record<string, {
     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;
        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;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "image";
        url: string;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "video";
        url: string;
     })[];
     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;
        };
      };
  }[]>;
  zeroExSwap:   | null
     | {
     from: {
        address: `0x${string}`;
        amount: string;
        symbol: string;
     };
     to: {
        address: "" | `0x${string}`;
        amount: string;
        symbol: string;
     };
   };
}[];