@karalabe Oh, you’re right! A big oversight on my part.
I think all I need to add here is a check to make sure the block requested is part of the canonical chain. If it’s not, it should just return an error instead of the logs.
@MicahZoltu I hope this behavior is acceptable to you. If you need side-chain logs to be returned, that would be a much larger change, and I’m not even sure it would be possible (as I don’t think there is any guarantee that logs from side-chain blocks are stored permanently). Please confirm that returning an error when the requested block hash is not part of the canonical block chain would solve the underlying client problem this is aimed at solving.