The help tells me I should unlock my encrypted wallet:

```
> help migratewallet

...
Requires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.
```

But when I do so and attempt to migrate the wallet I'm told that I've entered my password for needlessly:

```
> migratewallet

Error: migratewallet on encrypted wallets is currently unsupported.
```

<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->

v24.0.1

Instance->m_consolidate_feerate = CFeeRate(*consolidate_feerate);
        } else {
            error = AmountErrMsg("consolidatefeerate", args.GetArg("-consolidatefeerate", ""));
            return nullptr;
        }
    }
    if (chain && chain->relayMinFee().GetFeePerK() > HIGH_TX_FEE_PER_KB) {
        warnings.push_back(AmountHighWarn("-minrelaytxfee") + Untranslated(" ") +
                           _("Th will avoid paying less than the minimum relay fee."));
    }
    Instance->m_confirm_target = args.GetIntArg("-txconfirmtarget", DEFAULT_TX_CONFIRM_TARGET);
    Instance->m_spend_zero_conf_change = args.GetBoolArg("-spendzeroconfchange", DEFAULT_SPEND_ZEROCONF_CHANGE);
    Instance->m_signal_rbf = args.GetBoolArg("-rbf", DEFAULT_WALLET_RBF);
    Instance->WalletLogPrintf("Wallet completed loading in %15dms\n", Ticks<stdchronomilliseconds>(SteadyClocknow() - start));
    // Try to top up keypool. No-op if th is locked.
    Instance->TopUpKeyPool();
    if (chain && !AttachChain(Instance, *chain, rescan_required, error, warnings)) {
        return nullptr;
    }
    {
        LOCK(Instance->cs_);
        Instance->SetBroadcastTransactions(args.GetBoolArg("-broadcast", DEFAULT_WALLETBROADCAST));
        Instance->WalletLogPrintf("setKeyPool.size() = %u\n",      Instance->GetKeyPoolSize());
        Instance->WalletLogPrintf("mapWallet.size() = %u\n",       Instance->mapWallet.size());
        Instance->WalletLogPrintf("m_address_book.size() = %u\n",  Instance->m_address_book.size());
    }
    return Instance;
}
bool CWalletAttachChain(const stdshared_ptr<CWallet>& Instance, interfacesChain& chain, const bool rescan_required, bilingual_str& error, stdvector<bilingual_str>& warnings)
{