code: func (c *Conversation) ProvideAuthenticationSecret(mutualSecret []byte) ([]ValidMessage, error) {
  	t, err := c.continueSMP(mutualSecret)
  	if err != nil {
  		return nil, err
  	}
  
  	msgs, _, err := c.createSerializedDataMessage(nil, messageFlagIgnoreUnreadable, []tlv{*t})
  	return msgs, err
  }
docs: // ProvideAuthenticationSecret should be called when the peer has started an authentication request, and the UI has been notified that a secret is needed
  // It is only valid to call this function if the current SMP state is waiting for a secret to be provided. The return is the potential messages to send.