code: func (ui *CommandlineUI) ApproveSignData(request *SignDataRequest) (SignDataResponse, error) {
  	ui.mu.Lock()
  	defer ui.mu.Unlock()
  
  	fmt.Printf("-------- Sign data request--------------\n")
  	fmt.Printf("Account:  %s\n", request.Address.String())
  	fmt.Printf("message:\n")
  	for _, nvt := range request.Message {
  		fmt.Printf("%v\n", nvt.Pprint(1))
  	}
  	//fmt.Printf("message:  \n%v\n", request.Message)
  	fmt.Printf("raw data:  \n%q\n", request.Rawdata)
  	fmt.Printf("message hash:  %v\n", request.Hash)
  	fmt.Printf("-------------------------------------------\n")
  	showMetadata(request.Meta)
  	if !ui.confirm() {
  		return SignDataResponse{false}, nil
  	}
  	return SignDataResponse{true}, nil
  }
docs: // ApproveSignData prompt the user for confirmation to request to sign data