This differs from behaviour of `importaddress` where it works.
```
$ bitcoin-cli importaddress "<address>" "<label>" false
```
vs
```
$ bitcoin-cli importmulti '[{ "scriptPubKey": { "address": "<address>" }, "timestamp":0, "label": "<label>", "watchonly": true }]' '{ "rescan": false }'
error code: -13
error message:
Error: Please enter the wallet passphrase with walletpassphrase first.
```
continue;
            }
            if (has_label)
                pwallet->SetAddressBook(PKHash(keyid), label, "receive");
            nTimeBegin = std::min(nTimeBegin, time);
            progress++;
        }
        for (const auto& script_pair : scripts) {
            pwallet->chain().showProgress("", std::max(50, std::min(75, (int)((progress / total) * 100) + 50)), false);
            const CScript& script = script_pair.first;
            int64_t time = script_pair.second;
            if (!pwallet->ImportScripts({script}, time)) {
                pwallet->WalletLogPrintf("Error importing script %s\n", HexStr(script));
                fGood = false;
                continue;
            }
            if (time > 0) {
                nTimeBegin = std::min(nTimeBegin, time);
            }
            progress++;
        }
        pwallet->chain().showProgress("", 100, false); // 
    }
    pwallet->chain().showProgress("", 100, false); // 
    RescanWallet(*pwallet, reserver, nTimeBegin, false /* 
    pwallet->MarkDirty();
    if (!fGood)
        throw JSONRPCError(RPC_WALLET_ERROR, "Error adding some keys/scripts to wallet");
    return UniValue::VNULL;
},