|
|
|
@ -4542,6 +4542,9 @@ void wallet2::transfer_selected_rct(std::vector<cryptonote::tx_destination_entry
|
|
|
|
|
src.rct = td.is_rct();
|
|
|
|
|
//paste mixin transaction
|
|
|
|
|
|
|
|
|
|
THROW_WALLET_EXCEPTION_IF(outs.size() < out_index + 1 , error::wallet_internal_error, "outs.size() < out_index + 1");
|
|
|
|
|
THROW_WALLET_EXCEPTION_IF(outs[out_index].size() < fake_outputs_count , error::wallet_internal_error, "fake_outputs_count > random outputs found");
|
|
|
|
|
|
|
|
|
|
typedef cryptonote::tx_source_entry::output_entry tx_output_entry;
|
|
|
|
|
for (size_t n = 0; n < fake_outputs_count + 1; ++n)
|
|
|
|
|
{
|
|
|
|
@ -5268,6 +5271,10 @@ bool wallet2::light_wallet_key_image_is_ours(const crypto::key_image& key_image,
|
|
|
|
|
// usable balance.
|
|
|
|
|
std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryptonote::tx_destination_entry> dsts, const size_t fake_outs_count, const uint64_t unlock_time, uint32_t priority, const std::vector<uint8_t>& extra, uint32_t subaddr_account, std::set<uint32_t> subaddr_indices, bool trusted_daemon)
|
|
|
|
|
{
|
|
|
|
|
if(m_light_wallet) {
|
|
|
|
|
// Populate m_transfers
|
|
|
|
|
light_wallet_get_unspent_outs();
|
|
|
|
|
}
|
|
|
|
|
std::vector<std::pair<uint32_t, std::vector<size_t>>> unused_transfers_indices_per_subaddr;
|
|
|
|
|
std::vector<std::pair<uint32_t, std::vector<size_t>>> unused_dust_indices_per_subaddr;
|
|
|
|
|
uint64_t needed_money;
|
|
|
|
|