4 bytes

Selector dictionary

A compiler keeps no function names. What survives is the first four bytes of keccak256 over the signature, and that is all a caller ever sends. This turns those four bytes back into the declaration they came from.

Accepts a 4-byte function selector, a 32-byte event topic0, or a custom error selector — with or without the 0x prefix.

How resolution works

Verified ABIs

Every contract looked up here has its ABI read and each selector it declares recorded, so coverage grows with use.

Collisions kept

Four bytes are not unique. Every signature known to hash to the same selector is returned, not just the first.

Type preserved

Functions, events and errors are stored apart, so a topic0 never resolves to a function that happens to collide.