> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qu.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ContractEventName

```ts theme={null}
type ContractEventName: string | ContractEvent | TopicFilter | DeferredTopicFilter;
```

The name for an event used for subscribing to Contract events.

**`string`** - An event by name. The event must be non-ambiguous. The parameters will be dereferenced when passed
into the listener.

[**ContractEvent**](/sdk/content/interfaces/ContractEvent) - A filter from the `contract.filters`, which will pass only the
EventPayload as a single parameter, which includes a `.signature` property that can be used to further filter the
event.

[**TopicFilter**](/sdk/content/type-aliases/TopicFilter) - A filter defined using the standard Ethereum API which provides the specific
topic hash or topic hashes to watch for along with any additional values to filter by. This will only pass a single
parameter to the listener, the EventPayload which will include additional details to refine by, such as the event
name and signature.

[**DeferredTopicFilter**](/sdk/content/interfaces/DeferredTopicFilter) - A filter created by calling a
[**ContractEvent**](/sdk/content/interfaces/ContractEvent) with parameters, which will create a filter for a specific event signautre
and dereference each parameter when calling the listener.

## Source

[contract/types.ts:34](https://github.com/dominant-strategies/quais.js/blob/c1c12d43f9d34c6baad2b0542bd6d0acd6fefcbf/src/contract/types.ts#L34)
