Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
The help text says:
replaceable(=N)
Set RBF opt-in sequence number for input N (if not provided, opt-in all
available inputs)
but when I don't provide N, I get an error:
$ bitcoin-tx -create in=0000000000000000000000000000000000000000000000000000000000000000:0 replaceable
error: Invalid TX input index ''
Expected behaviour
I expect bitcoin-tx to act like its help string describes:
$ bitcoin-tx -create in=0000000000000000000000000000000000000000000000000000000000000000:0 replaceable
020000000100000000000000000000000000000000000000000000000000000000000000000000000000fdffffff0000000000
The fix is simple:
diff --git a/src/bitcoin-tx.cpp b/src/bitcoin-tx.cpp
index a05443a2e5..b9348fcad0 100644
--- a/src/bitcoin-tx.cpp
+++ b/src/bitcoin-tx.cpp
@@ -222,7 +222,7 @@ static void MutateTxRBFOptIn(CMutableTransaction& tx, const std::string& strInId
{
// parse requested index
int64_t inIdx;
- if (!ParseInt64(strInIdx, &inIdx) || inIdx < 0 || inIdx >= static_cast<int64_t>(tx.vin.size())) {
+ if (strInIdx != "" && (!ParseInt64(strInIdx, &inIdx) || inIdx < 0 || inIdx >= static_cast<int64_t>(tx.vin.size()))) {
throw std::runtime_error("Invalid TX input index '" + strInIdx + "'");
}
Steps to reproduce
Run the command shown above.
Relevant log output
No response
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
master@e3eb3aae3
Operating system and version
Debian 12
Machine specifications
No response