@@ -312,9 +312,10 @@ void BitcoinDMgr::refreshBitcoinDNetworkInfo()
312312 // Bitcoin Core 25.0+ requires specifying `maxburnamount` in the `sendrawtransaction` RPC
313313 // (which, due to bitcoin core weirdness in how it encodes the version int, maps to Version{0, 25, 0}
314314 rsi.sendRawTransactionRequiresMaxBurnAmount = res.isCore && bitcoinDInfo.version >= Version{0 , 25 , 0 };
315- // The `submitpackage` RPC is only present in a form usable by us on Bitcoin Core >= 27.0.0
316- rsi.hasSubmitPackageRPC = res.isCore && bitcoinDInfo.version >= Version{0 , 27 , 0 };
317- rsi.submitPackageRPCSupportsMaxBurnAmount = rsi.hasSubmitPackageRPC && bitcoinDInfo.version >= Version{0 , 28 , 0 };
315+ // The `submitpackage` RPC is only present in a form usable by us on Bitcoin Core >= 27.0.0, but it was
316+ // almost worthless on 27.0.0 (according to ElectrumX devs), and so we require 28.0.0.
317+ // See: https://github.com/spesmilo/electrum-protocol/pull/6/files#r2459860616
318+ rsi.hasSubmitPackageRPC = res.isCore && bitcoinDInfo.version >= Version{0 , 28 , 0 };
318319 } // end lock scope
319320 // be sure to announce whether remote bitcoind is bitcoin core (this determines whether we use segwit or not)
320321 BTC::Coin coin = BTC::Coin::BCH; // default BCH if unknown (not segwit)
@@ -1070,7 +1071,6 @@ QVariantMap BitcoinDInfo::toVariantMap() const
10701071 ret[" hasDSProofRPC" ] = rpcSupportInfo.hasDSProofRPC ;
10711072 ret[" sendRawTransactionRequiresMaxBurnAmount" ] = rpcSupportInfo.sendRawTransactionRequiresMaxBurnAmount ;
10721073 ret[" hasSubmitPackageRPC" ] = rpcSupportInfo.hasSubmitPackageRPC ;
1073- ret[" submitPackageRPCSupportsMaxBurnAmount" ] = rpcSupportInfo.submitPackageRPCSupportsMaxBurnAmount ;
10741074 ret[" isCore" ] = isCore;
10751075 ret[" isLTC" ] = isLTC;
10761076 ret[" isBU" ] = isBU;
0 commit comments