You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bitcoin/bitcoin/pull/35550bitcoin/bitcoin/pull/35267bitcoin/bitcoin/pull/34873bitcoin/bitcoin/pull/35129bitcoin/bitcoin/pull/35017
- net_processing: enforce BIP152's requirement that sendcmpct's announce
field be 0 or 1; misbehave and disconnect otherwise.
- rpc: getprivatebroadcastinfo/abortprivatebroadcast now throw if the node
wasn't started with -privatebroadcast=1, instead of operating on an
inactive state.
- private_broadcast: wrap the per-tx send-status vector in a TxSendStatus
struct carrying time_added, and use it to give a freshly-added,
not-yet-picked tx a 5min grace period before GetStale() flags it --
previously it was flagged stale (and rebroadcast) within seconds of being
queued. Also enforce that PickTxForSend() is never called twice with the
same node id (privacy leak otherwise), and add a general-purpose fuzz
harness covering the whole PrivateBroadcast API and this invariant.
- validation: on the belt-and-suspenders "PolicyScriptChecks succeeded but
ConsensusScriptChecks failed" path (not known to be reachable, guarded by
Assume(false)), remove the failing tx AND all subsequent txs in the
package from the mempool, not just the one that failed -- avoids leaving
a later tx whose validity depended on the failed one.
None of these are in official bitcoin/bitcoin 31.x.
Ported from bitcoin/bitcoin:
bitcoin/bitcoin@2d0dce0af5 -- net_processing: fix BIP152 first integer interpretation (brunoerg)
bitcoin/bitcoin@abc33ff043 -- test: announce field must be 0 or 1 in sendcmpct (brunoerg)
bitcoin/bitcoin@7b821ef9b7 -- rpc: getprivatebroadcastinfo/abortprivatebroadcast throw if -privatebroadcast is disabled (Pol Espinasa)
bitcoin/bitcoin@fdc9fc1df2 -- test: check getprivatebroadcast/abortprivatebroadcast throw without -privatebroadcast (Pol Espinasa)
bitcoin/bitcoin@999d18ab1ca6 -- net: introduce TxSendStatus internal state container (Mccalabrese)
bitcoin/bitcoin@325afe664d10 -- net: delay stale evaluation and expose time_added in private broadcast (Mccalabrese)
bitcoin/bitcoin@08b7c61fc703 -- private broadcast: enforce sending to unique node ids (Vasil Dimov)
bitcoin/bitcoin@2ee4fafa3f48 -- test: add fuzz test for private broadcast (kevkevinpal, co-authored by Greg Sanders, Vasil Dimov)
bitcoin/bitcoin@ac9aa71b7f -- mempool: remove all subsequent tx in pkg on failure (Greg Sanders)
also addet helper for 31.x code base to src/test/util/time.h to support "FakeNodeTime"
Tree-SHA512: 8dd7987da716d9920c4920b32fbb84adb44727a3f259b10ae7aae1eab1c9e78c69615e822cfab2abd8ae339ef3b2ac6632092f35cbe7dab7d34860249aeec931
"Abort private broadcast attempts for a transaction currently being privately broadcast.\n"
212
-
"The transaction will be removed from the private broadcast queue.\n",
221
+
"The transaction will be removed from the private broadcast queue.\n"
222
+
"This method is only available when running with -privatebroadcast enabled.\n",
213
223
{
214
224
{"id", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "A transaction identifier to abort. It will be matched against both txid and wtxid for all transactions in the private broadcast queue.\n"
215
225
"If the provided id matches a txid that corresponds to multiple transactions with different wtxids, multiple transactions will be removed and returned."},
0 commit comments