@ecp.eth/sdk / indexer / IndexerAPINotificationBaseSchema
Variable: IndexerAPINotificationBaseSchema
const IndexerAPINotificationBaseSchema: 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;
};
}>;
comment: 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: ZodType<(
| {
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: ... | ...;
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?: ...;
dimension: ...;
}[];
}
| {
chainId: number;
id: `0x${string}`;
position: {
end: number;
start: number;
};
type: "quoted_comment";
})[], ZodTypeDef, (
| {
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: ... | ...;
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?: ...;
dimension: ...;
}[];
}
| {
chainId: number;
id: `0x${string}`;
position: {
end: number;
start: number;
};
type: "quoted_comment";
})[]>;
revision: ZodNumber;
targetUri: ZodString;
txHash: ZodType<`0x${string}`, ZodTypeDef, `0x${string}`>;
updatedAt: ZodDate;
zeroExSwap: ZodNullable<ZodObject<{
from: ZodObject<{
address: ZodType<`0x${(...)}`, ZodTypeDef, `0x${(...)}`>;
amount: ZodString;
symbol: ZodString;
}, "strip", ZodTypeAny, {
address: `0x${string}`;
amount: string;
symbol: string;
}, {
address: `0x${string}`;
amount: string;
symbol: string;
}>;
to: ZodObject<{
address: ZodUnion<[..., ...]>;
amount: ZodUnion<[..., ...]>;
symbol: ZodString;
}, "strip", ZodTypeAny, {
address: "" | `0x${(...)}`;
amount: string;
symbol: string;
}, {
address: "" | `0x${(...)}`;
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;
};
}>>;
}, "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}`;
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?: ... | ...;
dimension: {
height: ...;
width: ...;
};
}[];
}
| {
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;
};
};
}, {
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?: ... | ...;
dimension: {
height: ...;
width: ...;
};
}[];
}
| {
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: ZodDate;
id: ZodBigInt;
seen: ZodBoolean;
seenAt: ZodNullable<ZodDate>;
}, "strip", ZodTypeAny, {
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;
seen: boolean;
seenAt: null | Date;
}, {
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;
seen: boolean;
seenAt: null | Date;
}>;
Defined in: packages/sdk/src/indexer/schemas.ts:717