
https://zips.z.cash/protocol/protocol.pdf#coinbasetransactions
We'll need to check:
Checks 1 and 2 are already implemented by Block.coinbase_height().is_some():
https://github.com/ZcashFoundation/zebra/blob/main/zebra-chain/src/block.rs#L47
We validate blocks in the zebra-consensus BlockValidator:
https://github.com/ZcashFoundation/zebra/blob/main/zebra-consensus/src/verify/block.rs#L97
@oxarbitrage you might like to do this ticket, you can start it as soon as you have time.
Note: after NU3 activation, the consensus rules on coinbase transactions change, so we'll need to handle that.
Note: after NU3 activation, the consensus rules on coinbase transactions change, so we'll need to handle that.
This ticket is about Coinbase inputs and the "one coinbase transaction per block" rule. That rule doesn't change in Heartwood.
I opened #608 for Shielded Coinbase Outputs, which are allowed by Heartwood ZIP-213:
https://zips.z.cash/zip-0213
Fixed by #593