getContractEvents

Get contract events

Example

import { Insight } from "thirdweb";
const events = await Insight.getContractEvents({
client,
chains: [sepolia],
contractAddress: "0x1234567890123456789012345678901234567890",
event: transferEvent(),
decodeLogs: true,
});
function getContractEvents(options: {
chains: Array<Readonly<ChainOptions & { rpc: string }>>;
client: ThirdwebClient;
contractAddress: string;
decodeLogs?: boolean;
event?: PreparedEvent<AbiEvent>;
queryOptions?: {
aggregate?: unknown;
chain?: unknown;
decode?: null | boolean;
filter_block_hash?: string;
filter_block_number?: null | number;
filter_block_number_gt?: null | number;
filter_block_number_gte?: null | number;
filter_block_number_lt?: null | number;
filter_block_number_lte?: null | number;
filter_block_timestamp?: null | number;
filter_block_timestamp_gt?: null | number;
filter_block_timestamp_gte?: null | number;
filter_block_timestamp_lt?: null | number;
filter_block_timestamp_lte?: null | number;
filter_log_index?: null | number;
filter_log_index_gt?: null | number;
filter_log_index_gte?: null | number;
filter_log_index_lt?: null | number;
filter_log_index_lte?: null | number;
filter_topic_0?: string;
filter_topic_1?: string;
filter_topic_2?: string;
filter_topic_3?: string;
filter_transaction_hash?: string;
filter_transaction_index?: null | number;
filter_transaction_index_gt?: null | number;
filter_transaction_index_gte?: null | number;
filter_transaction_index_lt?: null | number;
filter_transaction_index_lte?: null | number;
group_by?: unknown;
limit?: number;
page?: null | number;
sort_by?: string;
sort_order?: "asc" | "desc";
};
}): Promise<
Array<{
address: string;
block_hash: string;
block_number: string;
block_timestamp: string;
chain_id: number;
data: string;
decoded?: {
indexed_params: {};
name: string;
non_indexed_params: {};
signature: string;
};
log_index: number;
topics: Array<string>;
transaction_hash: string;
transaction_index: number;
}>
>;

Parameters

Type

let options: {
chains: Array<Readonly<ChainOptions & { rpc: string }>>;
client: ThirdwebClient;
contractAddress: string;
decodeLogs?: boolean;
event?: PreparedEvent<AbiEvent>;
queryOptions?: {
aggregate?: unknown;
chain?: unknown;
decode?: null | boolean;
filter_block_hash?: string;
filter_block_number?: null | number;
filter_block_number_gt?: null | number;
filter_block_number_gte?: null | number;
filter_block_number_lt?: null | number;
filter_block_number_lte?: null | number;
filter_block_timestamp?: null | number;
filter_block_timestamp_gt?: null | number;
filter_block_timestamp_gte?: null | number;
filter_block_timestamp_lt?: null | number;
filter_block_timestamp_lte?: null | number;
filter_log_index?: null | number;
filter_log_index_gt?: null | number;
filter_log_index_gte?: null | number;
filter_log_index_lt?: null | number;
filter_log_index_lte?: null | number;
filter_topic_0?: string;
filter_topic_1?: string;
filter_topic_2?: string;
filter_topic_3?: string;
filter_transaction_hash?: string;
filter_transaction_index?: null | number;
filter_transaction_index_gt?: null | number;
filter_transaction_index_gte?: null | number;
filter_transaction_index_lt?: null | number;
filter_transaction_index_lte?: null | number;
group_by?: unknown;
limit?: number;
page?: null | number;
sort_by?: string;
sort_order?: "asc" | "desc";
};
};

Returns

let returnType: Promise<
Array<{
address: string;
block_hash: string;
block_number: string;
block_timestamp: string;
chain_id: number;
data: string;
decoded?: {
indexed_params: {};
name: string;
non_indexed_params: {};
signature: string;
};
log_index: number;
topics: Array<string>;
transaction_hash: string;
transaction_index: number;
}>
>;