zebra/zebra-chain/src
Deirdre Connolly 0381c2347b
ZIP-401: weighted random mempool eviction (#2889)
* ZIP-401 weighted random mempool eviction

* rename zcash.mempool.total_cost.bytes to zcash.mempool.cost.bytes

Co-authored-by: teor <teor@riseup.net>

* Remove duplicated lines

* Add cost() method to UnminedTx

Update serialization failure messages

* More docs quoting ZIP-401 rules

* Change mempool::Storage::new() to handle Copy-less HashMap, HashSet

* mempool: tidy cost types and evict_one()

* More consensus rule docs

* Refactor calculating mempool costs for Unmined transactions

* Add a note on asympotic performance of calculating weights of txs in mempool

* Bump test mempool / storage config to avoid weighted random cost limits

* Use mempool tx_cost_limit = u64::MAX for some tests

* Remove failing tests for now

* Allow(clippy::field-reassign-with-default) because of a move on a type that doesn't impl Copy

* Fix mistaken doctest formatting

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

* Increase test timeout for Windows builds

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2021-10-27 00:21:19 +00:00
..
amount Check remaining transaction value & make value balance signs match the spec (#2566) 2021-08-09 14:22:26 -03:00
block Fix an incorrect assertion when the block locator is at the tip (#2789) 2021-09-27 22:43:05 +00:00
history_tree Refactor HistoryTree into NonEmptyHistoryTree and HistoryTree (#2582) 2021-08-10 09:51:50 -03:00
orchard Refactor mempool spend conflict checks to increase performance (#2826) 2021-10-10 23:54:46 +00:00
parameters Update shared NU5 dependencies, set the NU5 testnet activation network upgrade parameters (#2825) 2021-10-06 11:08:41 +10:00
primitives Tweak some assertions to better match their error messages (#2822) 2021-10-04 10:31:56 -03:00
sapling Refactor mempool spend conflict checks to increase performance (#2826) 2021-10-10 23:54:46 +00:00
serialization Add `zcash_serialized_size()` to `ZcashSerialize` trait (#2824) 2021-10-06 22:40:11 +00:00
sprout Refactor value balances to support generated data modification (#2596) 2021-08-10 14:42:02 +00:00
transaction ZIP-401: weighted random mempool eviction (#2889) 2021-10-27 00:21:19 +00:00
transparent Add transaction downloader and verifier (#2679) 2021-09-02 00:06:20 +00:00
value_balance Split ValueBalance methods into NegativeAllowed and NonNegative (#2649) 2021-08-20 13:30:38 +00:00
work Replace primitives_types with uint (#2350) 2021-06-18 15:35:05 -03:00
amount.rs Check remaining transaction value & make value balance signs match the spec (#2566) 2021-08-09 14:22:26 -03:00
block.rs Refactor mempool spend conflict checks to increase performance (#2826) 2021-10-10 23:54:46 +00:00
chain_tip.rs Add a `ChainTipChange` type to `await` chain tip changes (#2715) 2021-09-01 22:31:16 +00:00
fmt.rs Add a TypeNameToDebug formatter to zebra_chain (#2466) 2021-07-09 12:40:19 +10:00
history_tree.rs Tweak some assertions to better match their error messages (#2822) 2021-10-04 10:31:56 -03:00
lib.rs Refactor BestTipHeight into a generic ChainTip sender and receiver (#2676) 2021-08-27 11:34:33 +10:00
orchard.rs Orchard data in V5 parsing (#2116) 2021-05-21 00:42:06 +00:00
parameters.rs Cleanup a few arbitrary impls (#2222) 2021-05-28 09:49:28 -03:00
primitives.rs Add ZIP-244 signature hash support (#2165) 2021-07-07 08:27:10 +10:00
sapling.rs Update multiple crates to ensure bitvec 0.22.3 is being used (#2351) 2021-06-23 13:16:22 +10:00
serialization.rs Add `zcash_serialized_size()` to `ZcashSerialize` trait (#2824) 2021-10-06 22:40:11 +00:00
shutdown.rs Fix shutdown panics (#1637) 2021-02-03 19:03:28 +10:00
sprout.rs Move the preallocate tests into their own files (#1977) 2021-04-07 12:32:27 +10:00
transaction.rs Store the transaction fee in the mempool storage (#2885) 2021-10-18 11:24:37 +10:00
transparent.rs Refactor mempool spend conflict checks to increase performance (#2826) 2021-10-10 23:54:46 +00:00
value_balance.rs Add value pool/balances to non-finalized state (#2656) 2021-08-25 10:57:07 -03:00
work.rs Replace primitives_types with uint (#2350) 2021-06-18 15:35:05 -03:00