diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-06-17 21:31:16 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-06-17 21:31:16 +0100 |
commit | 7c8d3be656a15d97cde33992dd379b20b5afea29 (patch) | |
tree | 3b20246da20b8d1f53aab00eaf4c2e4f4ca23e8d | |
parent | Merge pull request #322 (diff) | |
download | monero-7c8d3be656a15d97cde33992dd379b20b5afea29.tar.xz |
wallet2: try to split dust sweep txs exponentially
This ensures even massive wallets full of dust can sweep.
-rw-r--r-- | src/wallet/wallet2.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 151da5602..d7f5da726 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -1357,13 +1357,14 @@ std::vector<wallet2::pending_tx> wallet2::create_dust_sweep_transactions() for(attempt_count = 1; ;attempt_count++) { - size_t num_outputs_per_tx = (num_dust_outputs + attempt_count - 1) / attempt_count; + size_t num_tx = 0.5 + pow(1.7,attempt_count-1); + size_t num_outputs_per_tx = (num_dust_outputs + num_tx - 1) / num_tx; std::vector<pending_tx> ptx_vector; try { // for each new tx - for (size_t i=0; i<attempt_count;++i) + for (size_t i=0; i<num_tx;++i) { cryptonote::transaction tx; pending_tx ptx; |