code: func NewIdentityAttributeEndorsementEntry(destinationChainID string, attributeEntryHash string, signerKey *IdentityKey, signerChainID string) *Entry {
  	message := []byte(destinationChainID + attributeEntryHash)
  	signature := signerKey.Sign(message)
  
  	e := Entry{}
  	e.ChainID = destinationChainID
  	e.ExtIDs = [][]byte{
  		[]byte("IdentityAttributeEndorsement"),
  		signature[:],
  		[]byte(signerKey.String()),
  		[]byte(signerChainID),
  	}
  	e.Content = []byte(attributeEntryHash)
  	return &e
  }
docs: // NewIdentityAttributeEndorsementEntry creates and returns an Entry struct that agrees with or recognizes a given
  // attribute. Publish it to the blockchain using the usual factom.CommitEntry(...) and factom.RevealEntry(...) calls.