Skip to content

@ecp.eth/sdk


@ecp.eth/sdk / indexer / IndexerAPINotificationQuoteSchemaType

Type Alias: IndexerAPINotificationQuoteSchemaType

type IndexerAPINotificationQuoteSchemaType = {
  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: 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;
        mediaType: 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;
      }
        | {
        dimension?: {
           height: number;
           width: number;
        };
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "image";
        url: string;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "video";
        url: string;
        videoTracks?: {
           codec?: string;
           dimension: {
              height: number;
              width: number;
           };
        }[];
      }
        | {
        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${string}`;
           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: 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;
        mediaType: 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;
      }
        | {
        dimension?: {
           height: number;
           width: number;
        };
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "image";
        url: string;
      }
        | {
        mediaType: string;
        position: {
           end: number;
           start: number;
        };
        type: "video";
        url: string;
        videoTracks?: {
           codec?: string;
           dimension: {
              height: number;
              width: number;
           };
        }[];
      }
        | {
        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${string}`;
           amount: string;
           symbol: string;
        };
      };
  };
  seen: boolean;
  seenAt: null | Date;
  type: "quote";
};

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

Type declaration

app

app: `0x${string}` = HexSchema;

author

author: {
  address: `0x${string}`;
  ens?: {
     avatarUrl: null | string;
     name: string;
  };
  farcaster?: {
     displayName?: string;
     fid: number;
     pfpUrl?: string;
     username: string;
  };
} = IndexerAPIAuthorDataSchema;

author.address

address: `0x${string}` = HexSchema;

author.ens?

optional ens: {
  avatarUrl: null | string;
  name: string;
};

author.ens.avatarUrl

avatarUrl: null | string;

author.ens.name

name: string;

author.farcaster?

optional farcaster: {
  displayName?: string;
  fid: number;
  pfpUrl?: string;
  username: string;
};

author.farcaster.displayName?

optional displayName: string;

author.farcaster.fid

fid: number;

author.farcaster.pfpUrl?

optional pfpUrl: string;

author.farcaster.username

username: string;

comment

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: 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;
     mediaType: 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;
   }
     | {
     dimension?: {
        height: number;
        width: number;
     };
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "image";
     url: string;
   }
     | {
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "video";
     url: string;
     videoTracks?: {
        codec?: string;
        dimension: {
           height: number;
           width: number;
        };
     }[];
   }
     | {
     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${string}`;
        amount: string;
        symbol: string;
     };
   };
} = IndexerAPICommentSchema;

comment.app

app: `0x${string}` = HexSchema;

comment.author

author: {
  address: `0x${string}`;
  ens?: {
     avatarUrl: null | string;
     name: string;
  };
  farcaster?: {
     displayName?: string;
     fid: number;
     pfpUrl?: string;
     username: string;
  };
} = IndexerAPIAuthorDataSchema;

comment.author.address

address: `0x${string}` = HexSchema;

comment.author.ens?

optional ens: {
  avatarUrl: null | string;
  name: string;
};

comment.author.ens.avatarUrl

avatarUrl: null | string;

comment.author.ens.name

name: string;

comment.author.farcaster?

optional farcaster: {
  displayName?: string;
  fid: number;
  pfpUrl?: string;
  username: string;
};

comment.author.farcaster.displayName?

optional displayName: string;

comment.author.farcaster.fid

fid: number;

comment.author.farcaster.pfpUrl?

optional pfpUrl: string;

comment.author.farcaster.username

username: string;

comment.chainId

chainId: number;

comment.channelId

channelId: bigint;

comment.commentType

commentType: number;

comment.content

content: string;

comment.createdAt

createdAt: Date;

comment.cursor

cursor: `0x${string}` = HexSchema;

comment.deletedAt

deletedAt: null | Date;

comment.hookMetadata

hookMetadata: {
  key: `0x${string}`;
  value: `0x${string}`;
}[] = IndexerAPIMetadataSchema;

comment.id

id: `0x${string}` = HexSchema;

comment.logIndex

logIndex: null | number;

comment.metadata

metadata: {
  key: `0x${string}`;
  value: `0x${string}`;
}[] = IndexerAPIMetadataSchema;

comment.moderationClassifierResult

moderationClassifierResult: Record<string, number>;

comment.moderationClassifierScore

moderationClassifierScore: number;

comment.moderationStatus

moderationStatus: "approved" | "pending" | "rejected" = IndexerAPICommentModerationStatusSchema;

comment.moderationStatusChangedAt

moderationStatusChangedAt: Date;

comment.parentId

parentId: null | `0x${string}`;

comment.references

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;
  mediaType: 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;
}
  | {
  dimension?: {
     height: number;
     width: number;
  };
  mediaType: string;
  position: {
     end: number;
     start: number;
  };
  type: "image";
  url: string;
}
  | {
  mediaType: string;
  position: {
     end: number;
     start: number;
  };
  type: "video";
  url: string;
  videoTracks?: {
     codec?: string;
     dimension: {
        height: number;
        width: number;
     };
  }[];
}
  | {
  chainId: number;
  id: `0x${string}`;
  position: {
     end: number;
     start: number;
  };
  type: "quoted_comment";
})[] = IndexerAPICommentReferencesSchema;

comment.revision

revision: number;

comment.targetUri

targetUri: string;

comment.txHash

txHash: `0x${string}` = HexSchema;

comment.updatedAt

updatedAt: Date;

comment.zeroExSwap

zeroExSwap: 
  | null
  | {
  from: {
     address: `0x${string}`;
     amount: string;
     symbol: string;
  };
  to: {
     address: "" | `0x${string}`;
     amount: string;
     symbol: string;
  };
};

createdAt

createdAt: Date;

id

id: bigint;

quotedComment

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: 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;
     mediaType: 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;
   }
     | {
     dimension?: {
        height: number;
        width: number;
     };
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "image";
     url: string;
   }
     | {
     mediaType: string;
     position: {
        end: number;
        start: number;
     };
     type: "video";
     url: string;
     videoTracks?: {
        codec?: string;
        dimension: {
           height: number;
           width: number;
        };
     }[];
   }
     | {
     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${string}`;
        amount: string;
        symbol: string;
     };
   };
} = IndexerAPICommentSchema;

quotedComment.app

app: `0x${string}` = HexSchema;

quotedComment.author

author: {
  address: `0x${string}`;
  ens?: {
     avatarUrl: null | string;
     name: string;
  };
  farcaster?: {
     displayName?: string;
     fid: number;
     pfpUrl?: string;
     username: string;
  };
} = IndexerAPIAuthorDataSchema;

quotedComment.author.address

address: `0x${string}` = HexSchema;

quotedComment.author.ens?

optional ens: {
  avatarUrl: null | string;
  name: string;
};

quotedComment.author.ens.avatarUrl

avatarUrl: null | string;

quotedComment.author.ens.name

name: string;

quotedComment.author.farcaster?

optional farcaster: {
  displayName?: string;
  fid: number;
  pfpUrl?: string;
  username: string;
};

quotedComment.author.farcaster.displayName?

optional displayName: string;

quotedComment.author.farcaster.fid

fid: number;

quotedComment.author.farcaster.pfpUrl?

optional pfpUrl: string;

quotedComment.author.farcaster.username

username: string;

quotedComment.chainId

chainId: number;

quotedComment.channelId

channelId: bigint;

quotedComment.commentType

commentType: number;

quotedComment.content

content: string;

quotedComment.createdAt

createdAt: Date;

quotedComment.cursor

cursor: `0x${string}` = HexSchema;

quotedComment.deletedAt

deletedAt: null | Date;

quotedComment.hookMetadata

hookMetadata: {
  key: `0x${string}`;
  value: `0x${string}`;
}[] = IndexerAPIMetadataSchema;

quotedComment.id

id: `0x${string}` = HexSchema;

quotedComment.logIndex

logIndex: null | number;

quotedComment.metadata

metadata: {
  key: `0x${string}`;
  value: `0x${string}`;
}[] = IndexerAPIMetadataSchema;

quotedComment.moderationClassifierResult

moderationClassifierResult: Record<string, number>;

quotedComment.moderationClassifierScore

moderationClassifierScore: number;

quotedComment.moderationStatus

moderationStatus: "approved" | "pending" | "rejected" = IndexerAPICommentModerationStatusSchema;

quotedComment.moderationStatusChangedAt

moderationStatusChangedAt: Date;

quotedComment.parentId

parentId: null | `0x${string}`;

quotedComment.references

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;
  mediaType: 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;
}
  | {
  dimension?: {
     height: number;
     width: number;
  };
  mediaType: string;
  position: {
     end: number;
     start: number;
  };
  type: "image";
  url: string;
}
  | {
  mediaType: string;
  position: {
     end: number;
     start: number;
  };
  type: "video";
  url: string;
  videoTracks?: {
     codec?: string;
     dimension: {
        height: number;
        width: number;
     };
  }[];
}
  | {
  chainId: number;
  id: `0x${string}`;
  position: {
     end: number;
     start: number;
  };
  type: "quoted_comment";
})[] = IndexerAPICommentReferencesSchema;

quotedComment.revision

revision: number;

quotedComment.targetUri

targetUri: string;

quotedComment.txHash

txHash: `0x${string}` = HexSchema;

quotedComment.updatedAt

updatedAt: Date;

quotedComment.zeroExSwap

zeroExSwap: 
  | null
  | {
  from: {
     address: `0x${string}`;
     amount: string;
     symbol: string;
  };
  to: {
     address: "" | `0x${string}`;
     amount: string;
     symbol: string;
  };
};

seen

seen: boolean;

seenAt

seenAt: null | Date;

type

type: "quote";