diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc index d7b21508cfb94..9e77a3443a8f4 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc @@ -371,6 +371,10 @@ void LedgerImpl::OnPublisherInfoSavedInternal( } void LedgerImpl::SetPublisherInfo(std::unique_ptr info) { + if (info) { + info->verified = bat_publishers_->isVerified(info->id); + } + ledger_client_->SavePublisherInfo( std::move(info), std::bind(&LedgerImpl::OnPublisherInfoSavedInternal, @@ -380,6 +384,10 @@ void LedgerImpl::SetPublisherInfo(std::unique_ptr info) { } void LedgerImpl::SetActivityInfo(std::unique_ptr info) { + if (info) { + info->verified = bat_publishers_->isVerified(info->id); + } + ledger_client_->SaveActivityInfo( std::move(info), std::bind(&LedgerImpl::OnPublisherInfoSavedInternal, @@ -430,26 +438,76 @@ LedgerImpl::GetRecurringDonationPublisherInfo() { return bat_publishers_->GetRecurringDonationList(); } +void LedgerImpl::ModifyPublisherVerified( + ledger::Result result, + std::unique_ptr publisher, + ledger::PublisherInfoCallback callback) { + if (publisher) { + publisher->verified = bat_publishers_->isVerified(publisher->id); + } + + callback(result, std::move(publisher)); +} + +void LedgerImpl::ModifyPublishersVerified( + const ledger::PublisherInfoList& list, + uint32_t record, + ledger::PublisherInfoListCallback callback) { + ledger::PublisherInfoList new_list; + + for (const auto& publisher : list) { + ledger::PublisherInfo info(publisher); + info.verified = bat_publishers_->isVerified(info.id); + new_list.push_back(info); + } + + callback(new_list, record); +} + void LedgerImpl::GetPublisherInfo(const std::string& publisher_key, ledger::PublisherInfoCallback callback) { - ledger_client_->LoadPublisherInfo(publisher_key, callback); + ledger_client_->LoadPublisherInfo( + publisher_key, + std::bind(&LedgerImpl::ModifyPublisherVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::GetActivityInfo(const ledger::ActivityInfoFilter& filter, ledger::PublisherInfoCallback callback) { - ledger_client_->LoadActivityInfo(filter, callback); + ledger_client_->LoadActivityInfo( + filter, + std::bind(&LedgerImpl::ModifyPublisherVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::GetPanelPublisherInfo( const ledger::ActivityInfoFilter& filter, ledger::PublisherInfoCallback callback) { - ledger_client_->LoadPanelPublisherInfo(filter, callback); + ledger_client_->LoadPanelPublisherInfo( + filter, + std::bind(&LedgerImpl::ModifyPublisherVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::GetMediaPublisherInfo( const std::string& media_key, ledger::PublisherInfoCallback callback) { - ledger_client_->LoadMediaPublisherInfo(media_key, callback); + ledger_client_->LoadMediaPublisherInfo( + media_key, + std::bind(&LedgerImpl::ModifyPublisherVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::GetActivityInfoList( @@ -457,7 +515,15 @@ void LedgerImpl::GetActivityInfoList( uint32_t limit, const ledger::ActivityInfoFilter& filter, ledger::PublisherInfoListCallback callback) { - ledger_client_->GetActivityInfoList(start, limit, filter, callback); + ledger_client_->GetActivityInfoList( + start, + limit, + filter, + std::bind(&LedgerImpl::ModifyPublishersVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::SetRewardsMainEnabled(bool enabled) { @@ -777,12 +843,22 @@ void LedgerImpl::OnTimer(uint32_t timer_id) { void LedgerImpl::GetRecurringTips( ledger::PublisherInfoListCallback callback) { - ledger_client_->GetRecurringTips(callback); + ledger_client_->GetRecurringTips( + std::bind(&LedgerImpl::ModifyPublishersVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::GetOneTimeTips( ledger::PublisherInfoListCallback callback) { - ledger_client_->GetOneTimeTips(callback); + ledger_client_->GetOneTimeTips( + std::bind(&LedgerImpl::ModifyPublishersVerified, + this, + _1, + _2, + callback)); } void LedgerImpl::LoadPublishersListCallback( diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h index 4da57b1efbeb4..5bec631c875f0 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h @@ -483,6 +483,16 @@ class LedgerImpl : public ledger::Ledger, void OnRemovedRecurring(ledger::Result result); + void ModifyPublisherVerified( + ledger::Result result, + std::unique_ptr publisher, + ledger::PublisherInfoCallback callback); + + void ModifyPublishersVerified( + const ledger::PublisherInfoList&, + uint32_t record, + ledger::PublisherInfoListCallback callback); + // ledger::LedgerCallbacHandler implementation void OnPublisherStateLoaded(ledger::Result result, const std::string& data) override;