Request construction
from_block and to_block are inclusive. With both bounds, get_logs reads the range in chunks: the first spans 2000 blocks (or the CLIENT's max_block_range when smaller), and a chunk with fewer than 5000 logs doubles the next, up to max_block_range. A provider's range limit fixes the chunk for the rest of the read.
A NULL from_block or to_block raises; it never reads without bounds. from_block after to_block raises.
block_timestamp comes with each log from the provider, so a log's time needs no header read; a log without it (or with 0x0) takes its block header's, one batched read per such block.
- RPC ADDRESS[] values are split into requests of at most 50 addresses.
- Pinned clients require both from_block and to_block. Retained execution clients reject either bound.