nAbsurdFee
is indeed absurd. It’s a parameter that the client passes in when calling AcceptToMemoryPool()
which asks “If the transaction that I’m passing you has a fee greater than this, don’t accept it”. The client already has the transaction in hand, and is able to look up the inputs, so it can just as easily do the check itself before submitting the transaction to the mempool.
Furthermore, nAbsurdFee
is only used by the RPC and wallet clients. For transactions received from the network or the mempool.dat file (which are the majority of calls to AcceptToMemoryPool()
), it is not used.
Removing this cleans up the AcceptToMemoryPool()
interface and clarifies responsibilities (don’t submit a transaction to the mempool if its fee is higher than you want to pay!)