394 | @@ -394,18 +395,17 @@ class BIP32PubkeyProvider final : public PubkeyProvider
395 | BIP32PubkeyProvider(uint32_t exp_index, const CExtPubKey& extkey, KeyPath path, DeriveType derive, bool apostrophe) : PubkeyProvider(exp_index), m_root_extkey(extkey), m_path(std::move(path)), m_derive(derive), m_apostrophe(apostrophe) {}
396 | bool IsRange() const override { return m_derive != DeriveType::NO; }
397 | size_t GetSize() const override { return 33; }
398 | - bool GetPubKey(int pos, const SigningProvider& arg, CPubKey& key_out, KeyOriginInfo& final_info_out, const DescriptorCache* read_cache = nullptr, DescriptorCache* write_cache = nullptr) const override
399 | + std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg, FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache* write_cache = nullptr) const override
400 | {
401 | // Info of parent of the to be derived pubkey
This comment is vaguely correct now, technically ok but doesn't gel well with the new object name, causes confusion. IMO best to update it.
Removed it, I don't think there's anything meaningfully useful to say in a comment here.