From 3d1804c7dfb5ab05adf0e9f38e13fa5c9ffabfb7 Mon Sep 17 00:00:00 2001 From: NejcZdovc Date: Fri, 22 May 2020 09:05:48 +0200 Subject: [PATCH] Only claim not redeemed tokens Resolves https://github.com/brave/brave-browser/issues/9891 --- .../src/bat/ledger/internal/database/database.cc | 4 ++-- .../src/bat/ledger/internal/database/database.h | 2 +- .../bat/ledger/internal/database/database_unblinded_token.cc | 5 +++-- .../bat/ledger/internal/database/database_unblinded_token.h | 2 +- .../bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc | 4 ++-- .../bat-native-ledger/src/bat/ledger/internal/ledger_impl.h | 2 +- .../src/bat/ledger/internal/ledger_impl_mock.h | 2 +- .../src/bat/ledger/internal/promotion/promotion_transfer.cc | 2 +- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.cc index 3a1859a89fa..4e6bc3a2d99 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.cc @@ -567,10 +567,10 @@ void Database::MarkUblindedTokensAsSpent( callback); } -void Database::GetUnblindedTokensByTriggerIds( +void Database::GetSpendableUnblindedTokensByTriggerIds( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback callback) { - unblinded_token_->GetRecordsByTriggerIds(trigger_ids, callback); + unblinded_token_->GetSpendableRecordsByTriggerIds(trigger_ids, callback); } void Database::GetSpendableUnblindedTokensByBatchTypes( diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.h b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.h index 3e2f15eb5c1..37ae3a0461c 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database.h @@ -381,7 +381,7 @@ class Database { const std::string& redeem_id, ledger::ResultCallback callback); - void GetUnblindedTokensByTriggerIds( + void GetSpendableUnblindedTokensByTriggerIds( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback callback); diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc index aa7485891a7..13c3a12ab74 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc @@ -428,7 +428,7 @@ void DatabaseUnblindedToken::OnGetRecords( callback(std::move(list)); } -void DatabaseUnblindedToken::GetRecordsByTriggerIds( +void DatabaseUnblindedToken::GetSpendableRecordsByTriggerIds( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback callback) { if (trigger_ids.empty()) { @@ -442,7 +442,8 @@ void DatabaseUnblindedToken::GetRecordsByTriggerIds( "SELECT ut.token_id, ut.token_value, ut.public_key, ut.value, " "ut.creds_id, ut.expires_at FROM %s as ut " "LEFT JOIN creds_batch as cb ON cb.creds_id = ut.creds_id " - "WHERE cb.trigger_id IN (%s) OR ut.creds_id IS NULL", + "WHERE ut.redeemed_at = 0 AND " + "(cb.trigger_id IN (%s) OR ut.creds_id IS NULL)", kTableName, GenerateStringInCase(trigger_ids).c_str()); diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h index d21fd119a1b..883f2ccd8dd 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h @@ -24,7 +24,7 @@ class DatabaseUnblindedToken: public DatabaseTable { ledger::UnblindedTokenList list, ledger::ResultCallback callback); - void GetRecordsByTriggerIds( + void GetSpendableRecordsByTriggerIds( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback callback); 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 b0e1845ac29..1c45ea10021 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 @@ -1485,10 +1485,10 @@ void LedgerImpl::MarkUblindedTokensAsSpent( callback); } -void LedgerImpl::GetUnblindedTokensByTriggerIds( +void LedgerImpl::GetSpendableUnblindedTokensByTriggerIds( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback callback) { - bat_database_->GetUnblindedTokensByTriggerIds(trigger_ids, callback); + bat_database_->GetSpendableUnblindedTokensByTriggerIds(trigger_ids, callback); } ledger::ClientInfoPtr LedgerImpl::GetClientInfo() { 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 115a2e9666d..16cd3735f06 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 @@ -558,7 +558,7 @@ class LedgerImpl : public ledger::Ledger { const std::string& redeem_id, ledger::ResultCallback callback); - void GetUnblindedTokensByTriggerIds( + void GetSpendableUnblindedTokensByTriggerIds( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback callback); diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl_mock.h b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl_mock.h index 0570725ceda..c2509c0c737 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl_mock.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl_mock.h @@ -498,7 +498,7 @@ class MockLedgerImpl : public LedgerImpl { MOCK_METHOD1(GetAnonWalletStatus, void(ledger::ResultCallback)); - MOCK_METHOD2(GetUnblindedTokensByTriggerIds, void( + MOCK_METHOD2(GetSpendableUnblindedTokensByTriggerIds, void( const std::vector& trigger_ids, ledger::GetUnblindedTokenListCallback)); diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/promotion/promotion_transfer.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/promotion/promotion_transfer.cc index 68bde2ffde6..d5b8c153327 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/promotion/promotion_transfer.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/promotion/promotion_transfer.cc @@ -93,7 +93,7 @@ void PromotionTransfer::GetEligibleTokens( ids.push_back(promotion->id); } - ledger_->GetUnblindedTokensByTriggerIds( + ledger_->GetSpendableUnblindedTokensByTriggerIds( ids, tokens_callback); }