This would allow wallet operations like funding transactions with smart contract-based inputs such as LN, or any input the Core wallet doesn't know how to sign for.

https://github.com/bitcoin/bitcoin/pull/17211#issuecomment-933674310
{
public:
    
    CTxDestination destChange = CNoDestination();
    
    std::optional<OutputType> m_change_type;
    
    bool m_add_inputs = true;
    
    bool m_include_unsafe_inputs = false;
    
    bool fAllowOtherInputs = false;
    
    bool fAllowWatchOnly = false;
    
    bool fOverrideFeeRate = false;
    
    std::optional<CFeeRate> m_feerate;
    
    std::optional<unsigned int> m_confirm_target;
    
    std::optional<bool> m_signal_bip125_rbf;
    
    bool m_avoid_partial_spends = DEFAULT_AVOIDPARTIALSPENDS;
    
    bool m_avoid_address_reuse = false;