When I run a particular transaction and log the receipt, I am getting different results depending on if my EVM is Geth or Ganache. Specifically, Ganache returns
receipt.logs.type: 'mined' while in Geth, there is no
type member of logs and there is instead
receipt.logs.removed: 'false' (the receipt from Ganache has no
removed member.). The rest of the receipt looks pretty similar between the two EVMs, ignoring member order.
Is there a reliable source about what fields my program should expect to find in an Ethereum transaction receipt? If so, does one (or both) of these two implementations need a bug report for being inconsistent with that?