aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet2.cpp
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2023-08-17 10:24:53 -0500
committerluigi1111 <luigi1111w@gmail.com>2023-08-17 10:24:53 -0500
commit1ab593991cdc1c76b2d1832161fa7fbcb46a77bd (patch)
treed591569aed147f41489aa20f8a907d8f45d1b035 /src/wallet/wallet2.cpp
parentMerge pull request #8927 (diff)
parentwallet2: when checking frozen multisig tx set, don't assume order (diff)
downloadmonero-1ab593991cdc1c76b2d1832161fa7fbcb46a77bd.tar.xz
Merge pull request #8950
a0e5c3c wallet2: when checking frozen multisig tx set, don't assume order (jeffro256)
Diffstat (limited to 'src/wallet/wallet2.cpp')
-rw-r--r--src/wallet/wallet2.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index a6b91ab99..ac657cf49 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -1986,14 +1986,14 @@ bool wallet2::frozen(const multisig_tx_set& txs) const
CHECK_AND_ASSERT_THROW_MES(cd.sources.size() == ptx.tx.vin.size(), "mismatched multisg tx set source sizes");
for (size_t src_idx = 0; src_idx < cd.sources.size(); ++src_idx)
{
- // Check that the key images are consistent between tx vin and construction data
+ // Extract keys images from tx vin and construction data
const crypto::key_image multisig_ki = rct::rct2ki(cd.sources[src_idx].multisig_kLRki.ki);
CHECK_AND_ASSERT_THROW_MES(ptx.tx.vin[src_idx].type() == typeid(cryptonote::txin_to_key), "multisig tx cannot be miner");
- const crypto::key_image vin_ki = boost::get<cryptonote::txin_to_key>(ptx.tx.vin[src_idx]).k_image;
- CHECK_AND_ASSERT_THROW_MES(multisig_ki == vin_ki, "Mismatched key image b/t vin and construction data");
+ const crypto::key_image& vin_ki = boost::get<cryptonote::txin_to_key>(ptx.tx.vin[src_idx]).k_image;
- // Add key image to set
+ // Add key images to set (there will be some overlap)
kis_to_sign.insert(multisig_ki);
+ kis_to_sign.insert(vin_ki);
}
}
// Step 2. Scan all transfers for frozen key images