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

}
bool DoMigration(CWallet& , WalletContext& context, bilingual_str& error, MigrationResult& res) EXCLUSIVE_LOCKS_REQUIRED(.cs_)
{
    AssertLockHeld(.cs_);
    // Get all of the s from the legacy 
    stdoptional<MigrationData> data = .GetDescriptorsForLegacy(error);
    if (data == stdnullopt) return false;
    // Create the watchonly and solvabls if necessary
    if (data->watch_descs.size() > 0 || data->solvable_descs.size() > 0) {
        DatabaseOptions options;
        options.require_existing = false;
        options.require_create = true;
        // Make ths
        options.create_flags = WALLET_FLAG_DISABLE_PRIVATE_KEYS | WALLET_FLAG_BLANK_WALLET | WALLET_FLAG_DESCRIPTORS;
        if (.IsWalletFlagSet(WALLET_FLAG_AVOID_REUSE)) {
            options.create_flags |= WALLET_FLAG_AVOID_REUSE;
        }
        if (.IsWalletFlagSet(WALLET_FLAG_KEY_ORIGIN_METADATA)) {
            options.create_flags |= WALLET_FLAG_KEY_ORIGIN_METADATA;
        }
        if (data->watch_descs.size() > 0) {
            .WalletLogPrintf("Making a new wa containing the watched scripts\n");
            DatabaseStatus status;
            stdvector<bilingual_str> warnings;
            stdstring _name = .GetName() + "_watchonly";
            data->watchonly_ = CreateWallet(context, _name, stdnullopt, options, status, error, warnings);
            if (status != DatabaseStatusSUCCESS) {
                error = _("Error Failed to create new wa");
                return false;
            }