# BYTES32

32-byte fixed bytes value. It is raw binary storage, not a decimal number; cast to UINT256/INT256 only when the bytes represent an EVM integer, and use hex(value) or VARCHAR casts for display.

Canonical HTML: <https://determica.com/docs/types/bytes32>

- Family: Fixed bytes
- Physical type: BLOB

32-byte fixed bytes value. It is raw binary storage, not a decimal number; cast to UINT256/INT256 only when the bytes represent an EVM integer, and use hex(value) or VARCHAR casts for display.

## Used by functions

### Input and output

- [create_access_list](/docs/functions/create_access_list.md) — Builds an EIP-2930 access list for a transaction request. Each result row identifies an accessed account or storage slot and includes request status.
- [evm_abi_word](/docs/functions/evm_abi_word.md) — Encodes an ADDRESS, BYTES32, BOOLEAN, or integer as one 32-byte Solidity ABI word. ADDRESS and unsigned integer values are left-padded with zeros. Signed integers are sign-extended in two's-complement form; BOOLEAN uses 0 or 1. BYTES32 values are copied unchanged.
- [get_transaction](/docs/functions/get_transaction.md) — Fetches a transaction by hash, then makes a separate receipt request for receipt metadata.
- [get_transaction_logs](/docs/functions/get_transaction_logs.md) — Returns logs from a transaction receipt, optionally filtered by emitter or indexed topics. Supply an event signature or JSON ABI to append typed decoded fields.
- [keccak256](/docs/functions/keccak256.md) — Computes the Keccak-256 hash used by the EVM, returning a BYTES32 digest. Non-0x VARCHAR input is hashed as UTF-8, 0x-prefixed VARCHAR input is decoded to bytes first, and multi-argument overloads hash the exact unframed concatenation in argument order.
- [storage_at](/docs/functions/storage_at.md) — Returns one raw 32-byte storage word for a contract and BYTES32 slot in live, pinned, or retained execution state. Without a CLIENT, it builds a reusable READ and does not access state.

### Accepted as input

- [assume_storage](/docs/functions/assume_storage.md) — Declares the exact 32-byte value supplied for one contract storage slot in a PROGRAM's initial state.
- [create2_mine](/docs/functions/create2_mine.md) — Scans a bounded local CPU salt range for EIP-1014 CREATE2 addresses. It performs no network I/O, deployment, chain-state lookup, collision check, or vanity-address safety proof.
- [create2_predict](/docs/functions/create2_predict.md) — Computes the EIP-1014 CREATE2 address from the executing deployer, exact salt, and complete init-code hash. This is deterministic local arithmetic and does not query or mutate chain state.
- [hex](/docs/functions/hex.md) — Formats a BLOB-backed EVM byte value as uppercase hexadecimal text without a 0x prefix. hex and to_hex are compatibility aliases with identical behavior.
- [length](/docs/functions/length.md) — Returns the number of bytes in a BLOB or BLOB-backed EVM value such as ADDRESS, BYTES32, UINT256, or INT256.
- [pin](/docs/functions/pin.md) — Resolves a live CLIENT to one exact block and returns a pinned CLIENT for repeatable state reads. Pin by tag, number, hash, or a matching number/hash pair, with optional canonicality enforcement. Identical normalized requests using the same constructed live-CLIENT wrapper share one resolution within a SQL statement; separate client(transport) constructions resolve independently, and a later statement resolves the selector again.
- [to_hex](/docs/functions/to_hex.md) — Formats a BLOB-backed EVM byte value as uppercase hexadecimal text without a 0x prefix. hex and to_hex are compatibility aliases with identical behavior.

### Returned as output

- [compile](/docs/functions/compile.md) — Compiles Solidity or Vyper source through the configured external service and normalizes one row per returned contract artifact. It performs network I/O and sends the supplied source to that service.
- [event_signature](/docs/functions/event_signature.md) — Returns EVM topic0 by hashing already-canonical event signature text exactly; use it to filter non-anonymous logs.
- [event_signature_json](/docs/functions/event_signature_json.md) — Returns EVM topic0 for an event described by JSON ABI; use it to filter or validate non-anonymous logs.
- [evm_disassemble](/docs/functions/evm_disassemble.md) — Decodes bytecode with evmone advanced static analysis fixed to the Osaka revision. It exposes 27 instruction, PUSH, block, stack, gas, storage, and call-hint columns without executing the code.
- [get_block](/docs/functions/get_block.md) — Fetches a block by decimal height, supported block tag, or block hash. The block defaults to latest and include_transactions defaults to false.
- [get_logs](/docs/functions/get_logs.md) — Reads logs matching emitter, inclusive block bounds, and topic filters. Live clients use eth_getLogs; retained execution clients read stored execution logs.
- [run](/docs/functions/run.md) — Executes candidate EVM programs sequentially against exact CLIENT state, then atomically publishes compact receipts and auditable local evidence. It never submits transactions or mutates the connected chain.
