@ecp.eth/sdk / indexer / IndexerAPICommentReactionSchema
Variable: IndexerAPICommentReactionSchema
const IndexerAPICommentReactionSchema: ZodObject<{
app: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
author: ZodObject<{
address: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
ens: ZodOptional<ZodObject<{
avatarUrl: ZodNullable<ZodString>;
name: ZodString;
}, "strip", ZodTypeAny, {
avatarUrl: null | string;
name: string;
}, {
avatarUrl: null | string;
name: string;
}>>;
farcaster: ZodOptional<ZodObject<{
displayName: ZodOptional<ZodString>;
fid: ZodNumber;
pfpUrl: ZodOptional<ZodString>;
username: ZodString;
}, "strip", ZodTypeAny, {
displayName?: string;
fid: number;
pfpUrl?: string;
username: string;
}, {
displayName?: string;
fid: number;
pfpUrl?: string;
username: string;
}>>;
}, "strip", ZodTypeAny, {
address: `0x${string}`;
ens?: {
avatarUrl: null | string;
name: string;
};
farcaster?: {
displayName?: string;
fid: number;
pfpUrl?: string;
username: string;
};
}, {
address: `0x${string}`;
ens?: {
avatarUrl: null | string;
name: string;
};
farcaster?: {
displayName?: string;
fid: number;
pfpUrl?: string;
username: string;
};
}>;
chainId: ZodNumber;
channelId: ZodBigInt;
commentType: ZodNumber;
content: ZodString;
createdAt: ZodDate;
cursor: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
deletedAt: ZodNullable<ZodDate>;
hookMetadata: ZodArray<ZodObject<{
key: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
value: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
}, "strip", ZodTypeAny, {
key: `0x${string}`;
value: `0x${string}`;
}, {
key: `0x${string}`;
value: `0x${string}`;
}>, "many">;
id: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
logIndex: ZodNullable<ZodNumber>;
metadata: ZodArray<ZodObject<{
key: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
value: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
}, "strip", ZodTypeAny, {
key: `0x${string}`;
value: `0x${string}`;
}, {
key: `0x${string}`;
value: `0x${string}`;
}>, "many">;
moderationClassifierResult: ZodRecord<ZodUnion<[ZodEnum<["llm_generated", "spam", "sexual", "hate", "violence", "harassment", "self_harm", "sexual_minors", "hate_threatening", "violence_graphic"]>, ZodString]>, ZodNumber>;
moderationClassifierScore: ZodNumber;
moderationStatus: ZodEnum<["approved", "rejected", "pending"]>;
moderationStatusChangedAt: ZodDate;
parentId: ZodNullable<ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>>;
references: ZodArray<ZodUnion<[ZodObject<{
address: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
avatarUrl: ZodNullable<ZodString>;
name: ZodString;
position: ZodObject<{
end: ZodNumber;
start: ZodNumber;
}, "strip", ZodTypeAny, {
end: number;
start: number;
}, {
end: number;
start: number;
}>;
type: ZodLiteral<"ens">;
url: ZodString;
}, "strip", ZodTypeAny, {
address: `0x${string}`;
avatarUrl: null | string;
name: string;
position: {
end: number;
start: number;
};
type: "ens";
url: string;
}, {
address: `0x${string}`;
avatarUrl: null | string;
name: string;
position: {
end: number;
start: number;
};
type: "ens";
url: string;
}>, ZodObject<{
address: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
chainId: ZodNullable<ZodNumber>;
chains: ZodArray<ZodObject<{
caip: ...;
chainId: ...;
}, "strip", ZodTypeAny, {
caip: ...;
chainId: ...;
}, {
caip: ...;
chainId: ...;
}>, "many">;
decimals: ZodNumber;
logoURI: ZodNullable<ZodString>;
name: ZodString;
position: ZodObject<{
end: ZodNumber;
start: ZodNumber;
}, "strip", ZodTypeAny, {
end: number;
start: number;
}, {
end: number;
start: number;
}>;
symbol: ZodString;
type: ZodLiteral<"erc20">;
}, "strip", ZodTypeAny, {
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";
}, {
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";
}>, ZodObject<{
address: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
displayName: ZodNullable<ZodString>;
fid: ZodNumber;
fname: ZodString;
pfpUrl: ZodNullable<ZodString>;
position: ZodObject<{
end: ZodNumber;
start: ZodNumber;
}, "strip", ZodTypeAny, {
end: number;
start: number;
}, {
end: number;
start: number;
}>;
type: ZodLiteral<"farcaster">;
url: ZodString;
username: ZodString;
}, "strip", ZodTypeAny, {
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}`;
displayName: null | string;
fid: number;
fname: string;
pfpUrl: null | string;
position: {
end: number;
start: number;
};
type: "farcaster";
url: string;
username: string;
}>]>, "many">;
revision: ZodNumber;
targetUri: ZodString;
txHash: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
updatedAt: ZodDate;
zeroExSwap: ZodNullable<ZodObject<{
from: ZodObject<{
address: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
amount: ZodString;
symbol: ZodString;
}, "strip", ZodTypeAny, {
address: `0x${string}`;
amount: string;
symbol: string;
}, {
address: `0x${string}`;
amount: string;
symbol: string;
}>;
to: ZodObject<{
address: ZodUnion<[ZodType<..., ..., ...>, ZodLiteral<...>]>;
amount: ZodUnion<[ZodString, ZodLiteral<...>]>;
symbol: ZodString;
}, "strip", ZodTypeAny, {
address: "" | `0x${string}`;
amount: string;
symbol: string;
}, {
address: "" | `0x${string}`;
amount: string;
symbol: string;
}>;
}, "strip", ZodTypeAny, {
from: {
address: `0x${string}`;
amount: string;
symbol: string;
};
to: {
address: "" | `0x${string}`;
amount: string;
symbol: string;
};
}, {
from: {
address: `0x${string}`;
amount: string;
symbol: string;
};
to: {
address: "" | `0x${string}`;
amount: string;
symbol: string;
};
}>>;
} & {
reactionCounts: ZodRecord<ZodString, ZodNumber>;
viewerReactions: ZodRecord<ZodString, ZodArray<ZodObject<{
app: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
author: ZodObject<{
address: ZodType<`0x${(...)}`, ZodTypeDef, `0x${(...)}`>;
ens: ZodOptional<ZodObject<..., ..., ..., ..., ...>>;
farcaster: ZodOptional<ZodObject<..., ..., ..., ..., ...>>;
}, "strip", ZodTypeAny, {
address: `0x${string}`;
ens?: {
avatarUrl: ...;
name: ...;
};
farcaster?: {
displayName?: ...;
fid: ...;
pfpUrl?: ...;
username: ...;
};
}, {
address: `0x${string}`;
ens?: {
avatarUrl: ...;
name: ...;
};
farcaster?: {
displayName?: ...;
fid: ...;
pfpUrl?: ...;
username: ...;
};
}>;
chainId: ZodNumber;
channelId: ZodBigInt;
commentType: ZodNumber;
content: ZodString;
createdAt: ZodDate;
cursor: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
deletedAt: ZodNullable<ZodDate>;
hookMetadata: ZodArray<ZodObject<{
key: ZodType<..., ..., ...>;
value: ZodType<..., ..., ...>;
}, "strip", ZodTypeAny, {
key: `0x${(...)}`;
value: `0x${(...)}`;
}, {
key: `0x${(...)}`;
value: `0x${(...)}`;
}>, "many">;
id: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
logIndex: ZodNullable<ZodNumber>;
metadata: ZodArray<ZodObject<{
key: ZodType<..., ..., ...>;
value: ZodType<..., ..., ...>;
}, "strip", ZodTypeAny, {
key: `0x${(...)}`;
value: `0x${(...)}`;
}, {
key: `0x${(...)}`;
value: `0x${(...)}`;
}>, "many">;
moderationClassifierResult: ZodRecord<ZodUnion<[ZodEnum<...>, ZodString]>, ZodNumber>;
moderationClassifierScore: ZodNumber;
moderationStatus: ZodEnum<["approved", "rejected", "pending"]>;
moderationStatusChangedAt: ZodDate;
parentId: ZodNullable<ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>>;
references: ZodArray<ZodUnion<[ZodObject<..., ..., ..., ..., ...>, ZodObject<..., ..., ..., ..., ...>, ZodObject<..., ..., ..., ..., ...>]>, "many">;
revision: ZodNumber;
targetUri: ZodString;
txHash: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
updatedAt: ZodDate;
zeroExSwap: ZodNullable<ZodObject<{
from: ZodObject<..., ..., ..., ..., ...>;
to: ZodObject<..., ..., ..., ..., ...>;
}, "strip", ZodTypeAny, {
from: {
address: ...;
amount: ...;
symbol: ...;
};
to: {
address: ...;
amount: ...;
symbol: ...;
};
}, {
from: {
address: ...;
amount: ...;
symbol: ...;
};
to: {
address: ...;
amount: ...;
symbol: ...;
};
}>>;
}, "strip", ZodTypeAny, {
app: `0x${string}`;
author: {
address: `0x${string}`;
ens?: {
avatarUrl: ... | ...;
name: string;
};
farcaster?: {
displayName?: ... | ...;
fid: number;
pfpUrl?: ... | ...;
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${(...)}`;
avatarUrl: ... | ...;
name: string;
position: {
end: ...;
start: ...;
};
type: "ens";
url: string;
}
| {
address: `0x${(...)}`;
displayName: ... | ...;
fid: number;
fname: string;
pfpUrl: ... | ...;
position: {
end: ...;
start: ...;
};
type: "farcaster";
url: string;
username: string;
}
| {
address: `0x${(...)}`;
chainId: ... | ...;
chains: ...[];
decimals: number;
logoURI: ... | ...;
name: string;
position: {
end: ...;
start: ...;
};
symbol: string;
type: "erc20";
}
| {
description: ... | ...;
favicon: ... | ...;
opengraph: ... | ...;
position: {
end: ...;
start: ...;
};
title: string;
type: "webpage";
url: string;
}
| {
mediaType: string;
position: {
end: ...;
start: ...;
};
type: "file";
url: string;
}
| {
mediaType: string;
position: {
end: ...;
start: ...;
};
type: "image";
url: string;
}
| {
mediaType: string;
position: {
end: ...;
start: ...;
};
type: "video";
url: string;
})[];
revision: number;
targetUri: string;
txHash: `0x${string}`;
updatedAt: Date;
zeroExSwap: | null
| {
from: {
address: `0x${(...)}`;
amount: string;
symbol: string;
};
to: {
address: ... | ...;
amount: string;
symbol: string;
};
};
}, {
app: `0x${string}`;
author: {
address: `0x${string}`;
ens?: {
avatarUrl: ... | ...;
name: string;
};
farcaster?: {
displayName?: ... | ...;
fid: number;
pfpUrl?: ... | ...;
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${(...)}`;
avatarUrl: ... | ...;
name: string;
position: {
end: ...;
start: ...;
};
type: "ens";
url: string;
}
| {
address: `0x${(...)}`;
displayName: ... | ...;
fid: number;
fname: string;
pfpUrl: ... | ...;
position: {
end: ...;
start: ...;
};
type: "farcaster";
url: string;
username: string;
}
| {
address: `0x${(...)}`;
chainId: ... | ...;
chains: ...[];
decimals: number;
logoURI: ... | ...;
name: string;
position: {
end: ...;
start: ...;
};
symbol: string;
type: "erc20";
}
| {
description: ... | ...;
favicon: ... | ...;
opengraph: ... | ...;
position: {
end: ...;
start: ...;
};
title: string;
type: "webpage";
url: string;
}
| {
mediaType: string;
position: {
end: ...;
start: ...;
};
type: "file";
url: string;
}
| {
mediaType: string;
position: {
end: ...;
start: ...;
};
type: "image";
url: string;
}
| {
mediaType: string;
position: {
end: ...;
start: ...;
};
type: "video";
url: string;
})[];
revision: number;
targetUri: string;
txHash: `0x${string}`;
updatedAt: Date;
zeroExSwap: | null
| {
from: {
address: `0x${(...)}`;
amount: string;
symbol: string;
};
to: {
address: ... | ...;
amount: string;
symbol: string;
};
};
}>, "many">>;
}, "strip", ZodTypeAny, {
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;
})[];
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: 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: ... | ...;
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;
})[];
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;
};
};
}[]>;
zeroExSwap: | null
| {
from: {
address: `0x${string}`;
amount: string;
symbol: string;
};
to: {
address: "" | `0x${string}`;
amount: string;
symbol: 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}`;
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;
})[];
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: 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: ... | ...;
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;
})[];
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;
};
};
}[]>;
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:367