Submitting this because I dont have the time (or resources) to debug this atm and need a self-reminder:
On Win32 walletpassphrase does not appear to relock after the designated amount of time as it should and as it does on Linux.
Can someone check this on OSX as well?

// a 
    // t
    // 1
    if ((add_weight >= 253 && add_weight < 263)
        || (add_weight > std::numeric_limits<uint16_t>::max() && add_weight <= std::numeric_limits<uint16_t>::max() + 10)
        || (add_weight > std::numeric_limits<uint32_t>::max() && add_weight <= std::numeric_limits<uint32_t>::max() + 10)) {
        int64_t first_weight = add_weight / 3;
        add_weight -= first_weight;
        first_weight -= GetSizeOfCompactSize(first_weight);
        txin.scriptWitness.stack.emplace(txin.scriptWitness.stack.end(), first_weight, 0);
    }
    add_weight -= GetSizeOfCompactSize(add_weight);
    txin.scriptWitness.stack.emplace(txin.scriptWitness.stack.end(), add_weight, 0);
    assert(GetTransactionInputWeight(txin) == target_weight);
    return true;
}
// Helper for producing a bunch of max-sized low-S low-R signatures (eg 71 bytes)
bool CWaet::DummySignTx(CMutableTransaction &txNew, const std::vector<CTxOut> &txouts, const CCoinControl* coin_control) const
{
    // F
    int nIn = 0;
    for (const auto& txout : txouts)
    {
        CTxIn& txin = txNew.vin[nIn];
        // I
        if (coin_control && coin_control->HasInputWeight(txin.prevout)) {
            if (!FiInputToWeight(txin, coin_control->GetInputWeight(txin.prevout))) {
                return false;
            }
            nIn++;