diff options
author | luigi1111 <luigi1111w@gmail.com> | 2023-08-17 10:25:27 -0500 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2023-08-17 10:25:27 -0500 |
commit | 3bebcc4a7d98054953927d4238236235b3229c2c (patch) | |
tree | a7b129edb69f8ef6e1e742a0074267cc1e63a038 | |
parent | Merge pull request #8942 (diff) | |
parent | wallet2: when checking frozen multisig tx set, don't assume order (diff) | |
download | monero-3bebcc4a7d98054953927d4238236235b3229c2c.tar.xz |
Merge pull request #8953
ed05ac6 wallet2: when checking frozen multisig tx set, don't assume order (jeffro256)
-rw-r--r-- | src/wallet/wallet2.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index df34e441f..4bc09843d 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -2006,14 +2006,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 |