aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet2.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-12-09 18:21:21 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-12-09 18:21:21 +0000
commitf4a3ce15c196c2e8c723ab459be69e60d7de6007 (patch)
treeed8dd57a3188a16530636adb9db5000d891857c7 /src/wallet/wallet2.h
parentMerge pull request #1403 (diff)
downloadmonero-f4a3ce15c196c2e8c723ab459be69e60d7de6007.tar.xz
Fix sending outputs from a tx with more than one pubkey
A bug in cold signing caused a spurious pubkey to be included in transactions, so we need to ensure we use the correct one when sending outputs from one of those.
Diffstat (limited to '')
-rw-r--r--src/wallet/wallet2.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h
index dcb6367d1..616b74edb 100644
--- a/src/wallet/wallet2.h
+++ b/src/wallet/wallet2.h
@@ -129,6 +129,7 @@ namespace tools
uint64_t m_amount;
bool m_rct;
bool m_key_image_known;
+ size_t m_pk_index;
bool is_rct() const { return m_rct; }
uint64_t amount() const { return m_amount; }
@@ -147,6 +148,7 @@ namespace tools
FIELD(m_amount)
FIELD(m_rct)
FIELD(m_key_image_known)
+ FIELD(m_pk_index)
END_SERIALIZE()
};
@@ -644,7 +646,7 @@ namespace tools
};
}
BOOST_CLASS_VERSION(tools::wallet2, 15)
-BOOST_CLASS_VERSION(tools::wallet2::transfer_details, 6)
+BOOST_CLASS_VERSION(tools::wallet2::transfer_details, 7)
BOOST_CLASS_VERSION(tools::wallet2::payment_details, 1)
BOOST_CLASS_VERSION(tools::wallet2::unconfirmed_transfer_details, 6)
BOOST_CLASS_VERSION(tools::wallet2::confirmed_transfer_details, 3)
@@ -677,6 +679,10 @@ namespace boost
{
x.m_key_image_known = true;
}
+ if (ver < 7)
+ {
+ x.m_pk_index = 0;
+ }
}
template <class Archive>
@@ -738,6 +744,12 @@ namespace boost
return;
}
a & x.m_key_image_known;
+ if (ver < 7)
+ {
+ initialize_transfer_details(a, x, ver);
+ return;
+ }
+ a & x.m_pk_index;
}
template <class Archive>