AcceptToMemoryPool: Don't fee-check wallet-created transactions#6726
AcceptToMemoryPool: Don't fee-check wallet-created transactions#6726maflcko wants to merge 1 commit intobitcoin:masterfrom
Conversation
|
Concept-level: a) Should we be disabling sanity checks for our own transactions? It provides a level of fallback safety. HIGHFEE check exists for a good reason b) We shouldn't be generating transactions that our own mempool doesn's accept: good chance that other nodes won't accept them either |
... should be executed by the wallet code. (Which it already does)
This PR only fixes the fee-sanity-check. And other nodes accepting txs over the network don't care about (high) fees when adding them to their own mempool. (I can add test cases to this PR if you want) |
|
@laanwj The reason the fee check in AcceptToMemoryPool exists is because
there is no other way to sanity check the fee of raw transactions. Wallet
transactions are always created with a known fee anyway.
|
|
I understand the motivation of this PR. Conceptual i think having a function that could check if a transaction would be accepted to the mempool (or IMO the wallets send functions as well as the |
No, see OP of #2949: The only reason to do this is "because the inputs may not be known". Though, I'd rather not bloat this PR and leave the dry-run logic (or whatever is better) to a follow up PR. |
|
@MarcoFalke I don't understand this:
It looks to me like you're removing any sanity checking at all from the wallet code. Although there is still some from the GUI. see #5202. As the author of the fee estimation code, I can tell you I would not feel comfortable if there was not a hard coded (or better yet configurable) high fee check. |
1d9bfdd to
18f5df4
Compare
|
Nack - see discussion in #6887, I don't like removing highfee checks |
This fixes #6725 by limiting the scope of
REJECT_HIGHFEEback to raw transactions (as intended by it's original author).