diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2018-08-15 18:13:08 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2018-08-15 18:13:08 -0500 |
| commit | 4d66939791b6536e64d9924abc332a754706d2a1 (patch) | |
| tree | 3d5030c42d60666d1c499f86b13dd57903e3145b /src | |
| parent | 41e583b0a287474e85357480de5f1de87cf5c57d (diff) | |
| parent | 361513ac810d9b32e61638f46c6497b3d6e33a8b (diff) | |
| download | monzero-core-4d66939791b6536e64d9924abc332a754706d2a1.tar.gz monzero-core-4d66939791b6536e64d9924abc332a754706d2a1.tar.xz monzero-core-4d66939791b6536e64d9924abc332a754706d2a1.zip | |
Merge pull request #4196
361513a blockchain_blackball: use a bit less memory (moneromooo-monero)
Diffstat (limited to 'src')
| -rw-r--r-- | src/blockchain_utilities/blockchain_blackball.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/blockchain_utilities/blockchain_blackball.cpp b/src/blockchain_utilities/blockchain_blackball.cpp index 65b6384dc..1653910fc 100644 --- a/src/blockchain_utilities/blockchain_blackball.cpp +++ b/src/blockchain_utilities/blockchain_blackball.cpp @@ -441,7 +441,6 @@ int main(int argc, char* argv[]) MINFO("Blackballing output " << pkey << ", due to being used in a 1-ring"); ringdb.blackball(pkey); newly_spent.insert(output_data(txin.amount, absolute[0])); - state.spent.insert(output_data(txin.amount, absolute[0])); } else if (state.ring_instances[new_ring] == new_ring.size()) { @@ -451,7 +450,6 @@ int main(int argc, char* argv[]) MINFO("Blackballing output " << pkey << ", due to being used in " << new_ring.size() << " identical " << new_ring.size() << "-rings"); ringdb.blackball(pkey); newly_spent.insert(output_data(txin.amount, absolute[o])); - state.spent.insert(output_data(txin.amount, absolute[o])); } } else if (state.relative_rings.find(txin.k_image) != state.relative_rings.end()) @@ -480,7 +478,6 @@ int main(int argc, char* argv[]) MINFO("Blackballing output " << pkey << ", due to being used in rings with a single common element"); ringdb.blackball(pkey); newly_spent.insert(output_data(txin.amount, common[0])); - state.spent.insert(output_data(txin.amount, common[0])); } else { @@ -513,6 +510,9 @@ int main(int argc, char* argv[]) std::unordered_set<output_data> work_spent = std::move(newly_spent); newly_spent.clear(); + for (const auto &e: work_spent) + state.spent.insert(e); + for (const output_data &od: work_spent) { for (const crypto::key_image &ki: state.outputs[od]) @@ -535,7 +535,6 @@ int main(int argc, char* argv[]) absolute.size() << "-ring where all other outputs are known to be spent"); ringdb.blackball(pkey); newly_spent.insert(output_data(od.amount, last_unknown)); - state.spent.insert(output_data(od.amount, last_unknown)); } } } |
