Enforce minRelayTxFee on wallet created tx and add a maxtxfee option.
Previously the minRelayTxFee was only enforced on user specified values.
It was possible for smartfee to produce a fee below minRelayTxFee which
would just result in the transaction getting stuck because it can't be
relayed.
This also introduces a maxtxfee option which sets an absolute maximum
for any fee created by the wallet, with an intention of increasing
user confidence that the automatic fees won't burn them. This was
frequently a concern even before smartfees.
If the configured fee policy won't even allow the wallet to meet the relay
fee the transaction creation may be aborted.
strUsage+=" -sendfreetransactions "+strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"),0)+"\n";
strUsage+=" -sendfreetransactions "+strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"),0)+"\n";
strUsage+=" -spendzeroconfchange "+strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"),1)+"\n";
strUsage+=" -spendzeroconfchange "+strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"),1)+"\n";
strUsage+=" -txconfirmtarget=<n> "+strprintf(_("If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u)"),1)+"\n";
strUsage+=" -txconfirmtarget=<n> "+strprintf(_("If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u)"),1)+"\n";
strUsage+=" -maxtxfee=<amt> "+strprintf(_("Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s)"),FormatMoney(maxTxFee))+"\n";
strUsage+=" -upgradewallet "+_("Upgrade wallet to latest format")+""+_("on startup")+"\n";
strUsage+=" -upgradewallet "+_("Upgrade wallet to latest format")+""+_("on startup")+"\n";
strUsage+=" -wallet=<file> "+_("Specify wallet file (within data directory)")+""+strprintf(_("(default: %s)"),"wallet.dat")+"\n";
strUsage+=" -wallet=<file> "+_("Specify wallet file (within data directory)")+""+strprintf(_("(default: %s)"),"wallet.dat")+"\n";
strUsage+=" -walletnotify=<cmd> "+_("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)")+"\n";
strUsage+=" -walletnotify=<cmd> "+_("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)")+"\n";