diff options
author | luigi1111 <luigi1111w@gmail.com> | 2022-12-01 01:11:14 -0600 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2022-12-01 01:11:14 -0600 |
commit | abd37fcf5b84c2dac9eec9526e84b0766ab70107 (patch) | |
tree | d23496b5fa8c52b820f8bd41ce80ab39d2d6dcd8 /src | |
parent | Merge pull request #8615 (diff) | |
parent | Fix dandelion++ fluff/stem bug with local txes (diff) | |
download | monero-abd37fcf5b84c2dac9eec9526e84b0766ab70107.tar.xz |
Merge pull request #8628
1bb5d25 Fix dandelion++ fluff/stem bug with local txes (Lee Clagett)
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptonote_protocol/levin_notify.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cryptonote_protocol/levin_notify.cpp b/src/cryptonote_protocol/levin_notify.cpp index 83f37015f..27c6d0278 100644 --- a/src/cryptonote_protocol/levin_notify.cpp +++ b/src/cryptonote_protocol/levin_notify.cpp @@ -542,6 +542,7 @@ namespace levin i_core_events* core_; std::vector<blobdata> txs_; boost::uuids::uuid source_; + relay_method tx_relay; //! \pre Called in `zone_->strand` void operator()() @@ -549,7 +550,7 @@ namespace levin if (!zone_ || !core_ || txs_.empty()) return; - if (!zone_->fluffing) + if (!zone_->fluffing || tx_relay == relay_method::local) { core_->on_transactions_relayed(epee::to_span(txs_), relay_method::stem); for (int tries = 2; 0 < tries; tries--) @@ -589,7 +590,7 @@ namespace levin change_channels(change_channels&&) = default; change_channels(const change_channels& source) - : zone_(source.zone_), map_(source.map_.clone()) + : zone_(source.zone_), map_(source.map_.clone()), fluffing_(source.fluffing_) {} //! \pre Called within `zone_->strand`. @@ -871,7 +872,7 @@ namespace levin { // this will change a local/forward tx to stem or fluff ... zone_->strand.dispatch( - dandelionpp_notify{zone_, core_, std::move(txs), source} + dandelionpp_notify{zone_, core_, std::move(txs), source, tx_relay} ); break; } |