code: func createHeader(th *TransactionHeader, channelHeader *common.ChannelHeader) (*common.Header, error) { //nolint
  
  	signatureHeader := &common.SignatureHeader{
  		Creator: th.creator,
  		Nonce:   th.nonce,
  	}
  	sh, err := proto.Marshal(signatureHeader)
  	if err != nil {
  		return nil, errors.Wrap(err, "marshal signatureHeader failed")
  	}
  	ch, err := proto.Marshal(channelHeader)
  	if err != nil {
  		return nil, errors.Wrap(err, "marshal channelHeader failed")
  	}
  	header := common.Header{
  		SignatureHeader: sh,
  		ChannelHeader:   ch,
  	}
  	return &header, nil
  }
docs: // createHeader creates a Header from a ChannelHeader.