Hi there,
Please help me understand the following code: https://github.com/bitcoin/bitcoin/blob/master/src/policy/rbf.cpp#L25
It checks for ancestors flagging replaceability for RBF detection which is seemingly only used from utility and rpc commands. However note the mempool policy: https://github.com/bitcoin/bitcoin/blob/master/src/validation.cpp#L772
It seems as though relay won't happen if you are replacing inputs from ancestors anyway, so why does IsRBFOptIn need to check for ancestors? Do we need that or can we simply just use SignalsOptInRBF which just checks the tx inputs to ensure they aren't replaceable and not ancestral checks?