Wladimir J. van der Laan 43ae5ee9e4
Merge #12634: [refactor] Make TransactionWithinChainLimit more flexible
f77e1d34fd5f17304ce319b5f962b8005592501a test: Add MempoolAncestryTests (Karl-Johan Alm)
a08d76bcfee6f563a268933357931abe32060668 mempool: Calculate descendant maximum thoroughly (Karl-Johan Alm)
6d3568371eb2559d65a3e2334252d36a262319e8 wallet: Switch to using ancestor/descendant limits (Karl-Johan Alm)
6888195b062c8c58dd776fd10b44b25554eb1f15 wallet: Strictly greater than for ancestor caps (Karl-Johan Alm)
322b12ac4e0a8c892e81a760ff7225619248b74f Remove deprecated TransactionWithinChainLimit (Karl-Johan Alm)
47847515473b054929af0c8de3d54b6672500cab Switch to GetTransactionAncestry() in OutputEligibleForSpending (Karl-Johan Alm)
475a385a80198a46a6d99846f99b968f04e9b470 Add GetTransactionAncestry to CTxMemPool for general purpose chain limit checking (Karl-Johan Alm)
46847d69d2c1cc908fd779daac7884e365955dbd mempool: Fix max descendants check (Karl-Johan Alm)
b9ef21dd727dde33f5bd3c33226b05d07eb12aac mempool: Add explicit max_descendants (Karl-Johan Alm)

Pull request description:

  Currently, `TransactionWithinChainLimit` is restricted to single-output use, and needs to be called every time for different limits. If it is replaced with a chain limit value calculator, that can be called once and reused, and is generally more flexible (see e.g. #12257).

  Update: this PR now corrects usage of max ancestors / max descendants, including calculating the correct max descendant value, as advertised for the two limits.

  ~~This change also makes `nMaxAncestors` signed, as the replacement method will return `-1` for "not in the mempool", which is different from "0", which means "no ancestors/descendants in mempool".~~

  ~~This is a subset of #12257.~~

Tree-SHA512: aa59c849360542362b3126c0e29d44d3d58f11898e277d38c034dc4b86a5b4500f77ac61767599ce878c876b5c446fec9c02699797eb2fa41e530ec863a00cf9
2018-06-11 16:25:46 +02:00
..
2018-02-16 08:59:28 -05:00
2017-09-29 16:02:39 +02:00
2018-06-11 19:09:44 +09:00
2018-02-10 09:55:54 -05:00
2018-03-06 21:52:53 +01:00
2018-06-05 02:16:24 -07:00
2018-03-21 11:57:57 +08:00
2018-06-04 14:55:00 -04:00
2018-05-06 13:55:33 +02:00
2018-02-11 10:48:15 +01:00
2018-03-06 19:52:19 +00:00
2018-03-06 19:52:19 +00:00
2018-03-13 17:04:31 -07:00
2018-04-16 13:24:14 -07:00
2018-03-13 17:04:31 -07:00
2018-05-09 12:21:05 -04:00
2018-05-19 11:16:00 -04:00
2018-04-16 13:24:14 -07:00
2018-04-16 13:24:14 -07:00
2018-03-21 08:34:44 +02:00
2018-05-30 16:02:09 -04:00
2018-03-06 20:28:08 -08:00