event_signature

Returns EVM topic0 by hashing already-canonical event signature text exactly; use it to filter non-anonymous logs.

Example

Local

1
SELECT event_signature('Transfer(address,address,uint256)') AS topic0;
2
-- ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Notebook ready in readonly mode.

API reference

Exact signatures with descriptions, requirements, inputs, returns, and examples.

event_signature(VARCHAR) #

Hashes already-canonical text such as Transfer(address,address,uint256) exactly, without normalization.

Inputs

Name Type Use
signature VARCHAR

Signature text such as Transfer(address,address,uint256), without the event keyword or indexed modifiers. The text is hashed exactly without normalization.

required positional

Returns

Name Type
hash BYTES32

Event topic0. Keccak-256 of the supplied canonical signature as BYTES32.

Guidance

Selector, topic0, calldata, and return data

Use event_signature or event_signature_json to build topic0 before filtering logs or validating decoded events. The JSON helper derives canonical input types and ignores names and indexed modifiers.

  • Anonymous logs omit topic0 even though this helper can still compute the event signature hash.
  • Indexed flags affect where values appear in log topics, but not the event signature hash.
  • The Transfer example is the USDC log at Ethereum block 20,000,000, transaction 0x5cbf...3dde, log index 97; its topics and data are reconstructed offline.
  • Use function_selector for the first four bytes of calldata.
  • Use error_selector for the first four bytes of custom error revert data.
  • Use event_decode_json when you already have topics and data to decode.

Local SQL

1
SELECT event_signature('Transfer(address,address,uint256)') AS topic0;
Notebook ready in readonly mode.

Related functions

Category and tags

Tag
ABI