Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(use_uniform_pids)
- {
- tx_extra_uniform_payment_id pid;
- //Add payment id after pubkeys
- if(payment_id != nullptr)
- {
- if(payment_id->zero != 0)
- {
- LOG_ERROR("Internal error. Invalid payment id.");
- return false;
- }
- }
- else
- payment_id = &(pid.pid);
- LOG_PRINT_L2("Encrypting payment id " << payment_id->payment_id);
- crypto::public_key view_key_pub = get_destination_view_key_pub(destinations, change_addr);
- if(view_key_pub == null_pkey)
- {
- LOG_ERROR("Destinations have to have exactly one output to support encrypted payment ids");
- return false;
- }
- pid.pid = *payment_id;
- if(!hwdev.encrypt_payment_id(pid.pid, view_key_pub, tx_key))
- {
- LOG_ERROR("Failed to encrypt payment id");
- return false;
- }
- std::cout << "add_payment_id_to_tx_extra: " << pid.pid.payment_id << std::endl;
- if(!add_payment_id_to_tx_extra(tx.extra, &pid))
- {
- LOG_ERROR("Failed to add encrypted payment id to tx extra");
- return false;
- }
- LOG_PRINT_L1("Encrypted payment ID: " << pid.pid.payment_id);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement