EDITED 2019-02-08

`maxTxFee` is a global variable, used by both the raw transaction and wallet RPCs. It's set from `-maxtxfee`.

~listed in the global help text in init.cpp, but is only set in `WalletInit::ParameterInteraction()`. If the wallet is disabled, then `-maxtxfee` is ignored and the default is used.~

~This behaviour has existed since the mempool was changed to limit acceptance based on `maxTxFee` in https://github.com/bitcoin/bitcoin/commit/fa331db68bcc68e4c93fb45aaa30f911b0ecfe1a.~

~Short-term fix is to move the `-maxtxfee` handling to `InitParameterInteraction()` in init.cpp.~
EDIT: `maxTxFee` initiation bug fixed in #15357 

I don't think we should share this setting between the node and wallet.
std::string error_string;
        std::string warning_string;
        bool verify_success = CWallet::Verify(chain, location, salvage_wallet, error_string, warning_string);
        if (!error_string.empty()) InitError(error_string);
        if (!warning_string.empty()) InitWarning(warning_string);
        if (!verify_success) return false;
    }
    return true;
}
void WalletInit::Construct(InitInterfaces& interfaces) const
{
    if (gArgs.GetBoolArg("-disablewallet", DEFAULT_DISABLE_WALLET)) {
        LogPrintf("Wallet disabled!\n");
        return;
    }
    gArgs.SoftSetArg("-wallet", "");
    interfaces.chain_clients.emplace_back(interfaces::MakeWalletClient(*interfaces.chain, gArgs.GetArgs("-wallet")));
}
bool LoadWallets(interfaces::Chain& chain, const std::vector<std::string>& wallet_files)
{
    for (const std::string& walletFile : wallet_files) {
        std::shared_ptr<CWallet> pwallet = CWallet::CreateWalletFromFile(chain, WalletLocation(walletFile));
        if (!pwallet) {
            return false;
        }
        AddWallet(pwallet);
    }
    return true;
}
void StartWallets(CScheduler& scheduler)