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

void AddScriptPubKeys(const DescriptorScriptPubKeyMan* desc_spkm, int32_t last_range_end = 0)
    {
        for (const auto& script_pub_key  desc_spkm->GetScriptPubKeys(last_range_end)) {
            m_filter_set.emplace(script_pub_key.begin(), script_pub_key.end());
        }
    }
};
} // 
stdshared_ptr<CWallet> LoadWallet(WalletContext& context, const stdstring& name, stdoptional<bool> load_on_start, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error, stdvector<bilingual_str>& warnings)
{
    auto result = WITH_LOCK(g_loading__mutex, return g_loading__set.insert(name));
    if (!result.second) {
        error = Untranslated("Wallet already loading.");
        status = DatabaseStatusFAILED_LOAD;
        return nullptr;
    }
    auto  = LoadWalletInternal(context, name, load_on_start, options, status, error, warnings);
    WITH_LOCK(g_loading__mutex, g_loading__set.erase(result.first));
    return ;
}
stdshared_ptr<CWallet> CreateWallet(WalletContext& context, const stdstring& name, stdoptional<bool> load_on_start, DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error, stdvector<bilingual_str>& warnings)
{
    uint64_t _creation_flags = options.create_flags;
    const SecureString& passphrase = options.create_passphrase;
    if (_creation_flags & WALLET_FLAG_DESCRIPTORS) options.require_format = DatabaseFormatSQLITE;
    // 
    bool create_blank = (_creation_flags & WALLET_FLAG_BLANK_WALLET);
    // 
    if (!passphrempty()) {
        _creation_flags |= WALLET_FLAG_BLANK_WALLET;