code: func (c *Clique) Finalize(chain consensus.ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header) {
  	// No block rewards in PoA, so the state remains as is and uncles are dropped
  	header.Root = state.IntermediateRoot(chain.Config().IsEIP158(header.Number))
  	header.UncleHash = types.CalcUncleHash(nil)
  }
docs: // Finalize implements consensus.Engine, ensuring no uncles are set, nor block
  // rewards given.