Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. if(use_uniform_pids)
  2.     {  
  3.         tx_extra_uniform_payment_id pid;
  4.         //Add payment id after pubkeys
  5.         if(payment_id != nullptr)
  6.         {
  7.             if(payment_id->zero != 0)
  8.             {
  9.                 LOG_ERROR("Internal error. Invalid payment id.");
  10.                 return false;
  11.             }
  12.         }
  13.         else
  14.             payment_id = &(pid.pid);
  15.  
  16.             LOG_PRINT_L2("Encrypting payment id " << payment_id->payment_id);
  17.  
  18.             crypto::public_key view_key_pub = get_destination_view_key_pub(destinations, change_addr);
  19.             if(view_key_pub == null_pkey)
  20.             {
  21.                 LOG_ERROR("Destinations have to have exactly one output to support encrypted payment ids");
  22.                 return false;
  23.             }
  24.  
  25.            
  26.             pid.pid = *payment_id;
  27.  
  28.             if(!hwdev.encrypt_payment_id(pid.pid, view_key_pub, tx_key))
  29.             {
  30.                 LOG_ERROR("Failed to encrypt payment id");
  31.                 return false;
  32.             }
  33.             std::cout << "add_payment_id_to_tx_extra: " << pid.pid.payment_id << std::endl;
  34.             if(!add_payment_id_to_tx_extra(tx.extra, &pid))
  35.             {
  36.                 LOG_ERROR("Failed to add encrypted payment id to tx extra");
  37.                 return false;
  38.             }
  39.  
  40.             LOG_PRINT_L1("Encrypted payment ID: " << pid.pid.payment_id);
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement