Bitcoin ABC version 0.21.8 is now available from:
This release includes the following features and fixes:
getrawtransactionRPC no longer checks the unspent UTXO set for a transaction. The remaining behaviors are as follows: 1. If a blockhash is provided, check the corresponding block. 2. If no blockhash is provided, check the mempool. 3. If no blockhash is provided but txindex is enabled, also check txindex.
solvable, a boolean indicating whether all information necessary for signing is present in the wallet (ignoring private keys).
scantxoutsethave a new output field
desc, an output descriptor that encapsulates all signing information and key paths for the address (only available when
solvableis true for
importmultiRPC will now contain a new per-request
warningsfield with strings that explain when fields are being ignored or inconsistent, if any.
listreceivedaddresswould fail to take an address as a string.
hdmasterkeyidreturn field has been removed from
importmultiwill have their key origin information stored in the wallet for use with creating PSBTs.
walletcreatefundedpsbtis set to true but the key metadata for a public key has not been updated yet, then that key will have a derivation path as if it were just an independent key (i.e. no derivation path and its master fingerprint is itself)
testmempoolacceptRPC methods previously accepted an
allowhighfeesparameter to fail the mempool acceptance in case the transaction’s fee would exceed the value of the command line argument
-maxtxfee. To uncouple the RPCs from the global option, they now have a hardcoded default for the maximum transaction fee, that can be changed for both RPCs on a per-call basis with the
allowhighfeesboolean option has been removed and replaced by the
sendmanyRPC had an argument
minconfthat was not well specified and would lead to RPC errors even when the wallet’s coin selection would succeed. The
sendtoaddressRPC never had this check, so to normalize the behavior,
minconfis now ignored in
sendmany. If the coin selection does not succeed due to missing coins, it will still throw an RPC error. Be reminded that coin selection is influenced by the
-walletrejectlongchainscommand line arguments.
importprivkey automatically added the default empty label
(“”) to all addresses associated with the imported private key. Now it
defaults to using any existing label for those addresses. For example:
Old behavior: you import a watch-only address with the label “cold wallet”. Later, you import the corresponding private key using the default settings. The address’s label is changed from “cold wallet” to “”.
New behavior: you import a watch-only address with the label “cold wallet”. Later, you import the corresponding private key using the default settings. The address’s label remains “cold wallet”.
In both the previous and current case, if you directly specify a label during the import, that label will override whatever previous label the addresses may have had. Also in both cases, if none of the addresses previously had a label, they will still receive the default empty label (“”). Examples:
You import a watch-only address with the label “temporary”. Later you import the corresponding private key with the label “final”. The address’s label will be changed to “final”.
You use the default settings to import a private key for an address that was not previously in the wallet. Its addresses will receive the default empty label (“”).
importmulti RPC now supports importing of addresses from descriptors.
desc parameter can be provided instead of the
scriptPubKey in a request,
as well as an optional range for ranged descriptors to specify the start and
end of the range to import. More information about descriptors can be found
deriveaddressesreturns one or more addresses corresponding to an output descriptor.