drop support for x86_64-darwin
Nixpkgs expects to drop support for intel macs in 26.11.
Nixpkgs expects to drop support for intel macs in 26.11.
This patch ensures that when a node starts syncing from scratch in bootstrap peers mode that it has only up to 2 active connections to bootstrap relays.
Add prop_txSubmission_score_impairment which verifies TX submisssion V2's scoring functionality.
Add tests that verify that V2 is robust even if peers are late or omit TXs in replies.
When peers have conflicting advertisement orders for TXs it is possible for them to form a dependancy loop. For example peer A has tx id 1 but requires tx id 0 to submit, peer B has txid 2 but requires tx id 1 to submit, peer C has txid 0 but requires txid 2 before it can submit. We break this loop by introducing a inflightTimeout. When a peer has spent that much time unable to get the TX into the mempool it will bump the new currentMaxInflightMultiplicity limit. This will allow another peer to issue a new request for the TX.
This reverts commit fcc5801a153bcedb9f12e14421e5bbecf727a5c3.
When peers have conflicting advertisement orders for TXs it is possible for them to form a dependancy loop. For example peer A has tx id 1 but requires tx id 0 to submit, peer B has txid 2 but requires tx id 1 to submit, peer C has txid 0 but requires txid 2 before it can submit. We break this loop by introducing a inflightTimeout. When a peer has spent that much time unable to get the TX into the mempool it will bump the new currentMaxInflightMultiplicity limit. This will allow another peer to issue a new request for the TX.
XXX: Breaks backwards compat. Bump maxUnacknowledgedTxIds to 20 Bump maxNumTxIdsToRequest to 12 Lower maxOutstandingTxBatchesPerPeer to 2
Move cleanup of expired retained TXs and orphaned TXs to the counter thread.
Since peer score is now only a peer local thing move it into PeerTxLocalState and update it outside of atomic.
Inline some hot path functions. The old NOINLINE pragmas where a leftover from V1, and not applicable to V2 since we don't run unsafeNoThunks between states.
Use nothunks to assert that there are no thunks after some property based tests.