Fix CLI and unrestricted RPC relay_tx with stempool
This commit is contained in:
parent
8b3b106ad1
commit
aad780bcfa
|
@ -2820,6 +2820,8 @@ namespace cryptonote
|
||||||
RPC_TRACKER(relay_tx);
|
RPC_TRACKER(relay_tx);
|
||||||
CHECK_PAYMENT_MIN1(req, res, req.txids.size() * COST_PER_TX_RELAY, false);
|
CHECK_PAYMENT_MIN1(req, res, req.txids.size() * COST_PER_TX_RELAY, false);
|
||||||
|
|
||||||
|
const bool restricted = m_restricted && ctx;
|
||||||
|
|
||||||
bool failed = false;
|
bool failed = false;
|
||||||
res.status = "";
|
res.status = "";
|
||||||
for (const auto &str: req.txids)
|
for (const auto &str: req.txids)
|
||||||
|
@ -2833,12 +2835,16 @@ namespace cryptonote
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: The get_pool_transaction could have an optional meta parameter
|
||||||
|
bool broadcasted = false;
|
||||||
cryptonote::blobdata txblob;
|
cryptonote::blobdata txblob;
|
||||||
if (m_core.get_pool_transaction(txid, txblob, relay_category::legacy))
|
if ((broadcasted = m_core.get_pool_transaction(txid, txblob, relay_category::broadcasted)) || (!restricted && m_core.get_pool_transaction(txid, txblob, relay_category::all)))
|
||||||
{
|
{
|
||||||
|
// The settings below always choose i2p/tor if enabled. Otherwise, do fluff iff previously relayed else dandelion++ stem.
|
||||||
NOTIFY_NEW_TRANSACTIONS::request r;
|
NOTIFY_NEW_TRANSACTIONS::request r;
|
||||||
r.txs.push_back(std::move(txblob));
|
r.txs.push_back(std::move(txblob));
|
||||||
m_core.get_protocol()->relay_transactions(r, boost::uuids::nil_uuid(), epee::net_utils::zone::invalid, relay_method::local);
|
const auto tx_relay = broadcasted ? relay_method::fluff : relay_method::local;
|
||||||
|
m_core.get_protocol()->relay_transactions(r, boost::uuids::nil_uuid(), epee::net_utils::zone::invalid, tx_relay);
|
||||||
//TODO: make sure that tx has reached other nodes here, probably wait to receive reflections from other nodes
|
//TODO: make sure that tx has reached other nodes here, probably wait to receive reflections from other nodes
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue