diff --git a/browser/importer/brave_profile_writer.cc b/browser/importer/brave_profile_writer.cc index 28ba14e69163..6ec74acfefa6 100644 --- a/browser/importer/brave_profile_writer.cc +++ b/browser/importer/brave_profile_writer.cc @@ -107,7 +107,7 @@ void BraveProfileWriter::SetBridge(BraveInProcessImporterBridge* bridge) { } void BraveProfileWriter::OnWalletInitialized( - brave_rewards::RewardsService* rewards_service, int result) { + brave_rewards::RewardsService* rewards_service, uint32_t result) { if (result != 0 && result != 12) { // 12: ledger::Result::WALLET_CREATED // Cancel the import if wallet creation failed std::ostringstream msg; diff --git a/browser/importer/brave_profile_writer.h b/browser/importer/brave_profile_writer.h index 75d62fc01b06..df63e8b92f2a 100644 --- a/browser/importer/brave_profile_writer.h +++ b/browser/importer/brave_profile_writer.h @@ -41,7 +41,7 @@ class BraveProfileWriter : public ProfileWriter, // brave_rewards::RewardsServiceObserver: void OnWalletInitialized(brave_rewards::RewardsService* rewards_service, - int result) override; + uint32_t result) override; void OnRecoverWallet(brave_rewards::RewardsService* rewards_service, unsigned int result, double balance, diff --git a/browser/ui/webui/brave_rewards_ui.cc b/browser/ui/webui/brave_rewards_ui.cc index c9f3b29098df..f6ce64cd862a 100644 --- a/browser/ui/webui/brave_rewards_ui.cc +++ b/browser/ui/webui/brave_rewards_ui.cc @@ -121,7 +121,7 @@ class RewardsDOMHandler : public WebUIMessageHandler, // RewardsServiceObserver implementation void OnWalletInitialized(brave_rewards::RewardsService* rewards_service, - int result) override; + uint32_t result) override; void OnWalletProperties( brave_rewards::RewardsService* rewards_service, int error_code, @@ -358,7 +358,7 @@ void RewardsDOMHandler::GetWalletProperties(const base::ListValue* args) { void RewardsDOMHandler::OnWalletInitialized( brave_rewards::RewardsService* rewards_service, - int result) { + uint32_t result) { if (!web_ui()->CanCallJavascript()) return; diff --git a/common/extensions/api/brave_rewards.json b/common/extensions/api/brave_rewards.json index 03ab1956fd0e..4cebb043abf5 100644 --- a/common/extensions/api/brave_rewards.json +++ b/common/extensions/api/brave_rewards.json @@ -11,10 +11,15 @@ }, "events": [ { - "name": "onWalletCreated", + "name": "onWalletInitialized", "type": "function", - "description": "Fired when wallet is created", - "parameters": [] + "description": "Fired when wallet is initialized", + "parameters": [ + { + "name": "result", + "type": "integer" + } + ] }, { "name": "onGrant", @@ -251,18 +256,6 @@ } ] }, - { - "name": "onWalletFailed", - "type": "function", - "description": "Fired when wallet creation failed", - "parameters": [] - }, - { - "name": "onWalletCorrupted", - "type": "function", - "description": "Fired when wallet is corrupt", - "parameters": [] - }, { "name": "onPublisherListNormalized", "type": "function", diff --git a/components/brave_rewards/browser/extension_rewards_service_observer.cc b/components/brave_rewards/browser/extension_rewards_service_observer.cc index 7b55a1b53308..7639b5e88710 100644 --- a/components/brave_rewards/browser/extension_rewards_service_observer.cc +++ b/components/brave_rewards/browser/extension_rewards_service_observer.cc @@ -28,35 +28,20 @@ ExtensionRewardsServiceObserver::~ExtensionRewardsServiceObserver() { void ExtensionRewardsServiceObserver::OnWalletInitialized( RewardsService* rewards_service, - int result) { + uint32_t result) { auto* event_router = extensions::EventRouter::Get(profile_); - ledger::Result new_result = static_cast(result); - // Don't report back if there is no ledger file - if (event_router && new_result != ledger::Result::NO_LEDGER_STATE) { - std::unique_ptr args(new base::ListValue()); - - // wallet successfully created - if (result == ledger::Result::WALLET_CREATED) { - std::unique_ptr event(new extensions::Event( - extensions::events::BRAVE_WALLET_CREATED, - extensions::api::brave_rewards::OnWalletCreated::kEventName, - std::move(args))); - event_router->BroadcastEvent(std::move(event)); - } else if (result == ledger::Result::CORRUPTED_WALLET) { - std::unique_ptr event(new extensions::Event( + if (event_router && result != ledger::Result::NO_LEDGER_STATE) { + std::unique_ptr args( + extensions::api::brave_rewards::OnWalletInitialized::Create( + result).release()); + + std::unique_ptr event(new extensions::Event( extensions::events::BRAVE_START, - extensions::api::brave_rewards::OnWalletCorrupted::kEventName, - std::move(args))); - event_router->BroadcastEvent(std::move(event)); - } else if (result != ledger::Result::LEDGER_OK) { - std::unique_ptr event(new extensions::Event( - extensions::events::BRAVE_WALLET_FAILED, - extensions::api::brave_rewards::OnWalletFailed::kEventName, + extensions::api::brave_rewards::OnWalletInitialized::kEventName, std::move(args))); - event_router->BroadcastEvent(std::move(event)); - } + event_router->BroadcastEvent(std::move(event)); } } @@ -67,10 +52,12 @@ void ExtensionRewardsServiceObserver::OnWalletProperties( auto* event_router = extensions::EventRouter::Get(profile_); if (error_code == 17) { // ledger::Result::CORRUPT_WALLET - std::unique_ptr args(new base::ListValue()); + std::unique_ptr args( + extensions::api::brave_rewards::OnWalletInitialized::Create( + error_code).release()); std::unique_ptr event(new extensions::Event( extensions::events::BRAVE_START, - extensions::api::brave_rewards::OnWalletCorrupted::kEventName, + extensions::api::brave_rewards::OnWalletInitialized::kEventName, std::move(args))); event_router->BroadcastEvent(std::move(event)); } diff --git a/components/brave_rewards/browser/extension_rewards_service_observer.h b/components/brave_rewards/browser/extension_rewards_service_observer.h index 4f0bcca605fe..821f3277e591 100644 --- a/components/brave_rewards/browser/extension_rewards_service_observer.h +++ b/components/brave_rewards/browser/extension_rewards_service_observer.h @@ -28,7 +28,7 @@ class ExtensionRewardsServiceObserver : public RewardsServiceObserver, // RewardsServiceObserver implementation void OnWalletInitialized(RewardsService* rewards_service, - int result) override; + uint32_t result) override; void OnWalletProperties(RewardsService* rewards_service, int error_code, std::unique_ptr diff --git a/components/brave_rewards/browser/rewards_service_impl.cc b/components/brave_rewards/browser/rewards_service_impl.cc index 1d1686c923f5..de4875338028 100644 --- a/components/brave_rewards/browser/rewards_service_impl.cc +++ b/components/brave_rewards/browser/rewards_service_impl.cc @@ -1318,7 +1318,7 @@ void RewardsServiceImpl::OnURLFetchComplete( callback(response_code, body, headers); } -void RewardsServiceImpl::TriggerOnWalletInitialized(int result) { +void RewardsServiceImpl::TriggerOnWalletInitialized(ledger::Result result) { for (auto& observer : observers_) observer.OnWalletInitialized(this, result); } diff --git a/components/brave_rewards/browser/rewards_service_impl.h b/components/brave_rewards/browser/rewards_service_impl.h index cef071fe9110..c1b99ec0b409 100644 --- a/components/brave_rewards/browser/rewards_service_impl.h +++ b/components/brave_rewards/browser/rewards_service_impl.h @@ -225,7 +225,7 @@ class RewardsServiceImpl : public RewardsService, bool success); void OnPublisherStateLoaded(ledger::LedgerCallbackHandler* handler, const std::string& data); - void TriggerOnWalletInitialized(int result); + void TriggerOnWalletInitialized(ledger::Result result); void OnFetchWalletProperties(int result, const std::string& json_wallet); void TriggerOnGrant(ledger::Result result, const ledger::Grant& grant); diff --git a/components/brave_rewards/browser/rewards_service_impl_unittest.cc b/components/brave_rewards/browser/rewards_service_impl_unittest.cc index d50b783552c4..d2c4bfc42fc6 100644 --- a/components/brave_rewards/browser/rewards_service_impl_unittest.cc +++ b/components/brave_rewards/browser/rewards_service_impl_unittest.cc @@ -25,7 +25,7 @@ using ::testing::_; class MockRewardsServiceObserver : public RewardsServiceObserver { public: MockRewardsServiceObserver() {} - MOCK_METHOD2(OnWalletInitialized, void(RewardsService*, int)); + MOCK_METHOD2(OnWalletInitialized, void(RewardsService*, uint32_t)); MOCK_METHOD3(OnWalletProperties, void(RewardsService*, int, std::unique_ptr)); diff --git a/components/brave_rewards/browser/rewards_service_observer.h b/components/brave_rewards/browser/rewards_service_observer.h index d549a1666b94..ecfdc5024690 100644 --- a/components/brave_rewards/browser/rewards_service_observer.h +++ b/components/brave_rewards/browser/rewards_service_observer.h @@ -27,7 +27,7 @@ class RewardsServiceObserver : public base::CheckedObserver { virtual void OnWalletInitialized( RewardsService* rewards_service, - int error_code) {} + uint32_t error_code) {} virtual void OnWalletProperties( RewardsService* rewards_service, int error_code, diff --git a/components/brave_rewards/resources/extension/brave_rewards/actions/rewards_panel_actions.ts b/components/brave_rewards/resources/extension/brave_rewards/actions/rewards_panel_actions.ts index 0b91a2cac53c..41f07a97d92e 100644 --- a/components/brave_rewards/resources/extension/brave_rewards/actions/rewards_panel_actions.ts +++ b/components/brave_rewards/resources/extension/brave_rewards/actions/rewards_panel_actions.ts @@ -9,11 +9,9 @@ import { types } from '../constants/rewards_panel_types' export const createWallet = () => action(types.CREATE_WALLET, {}) -export const onWalletCreated = () => action(types.ON_WALLET_CREATED, {}) - -export const onWalletCreateFailed = () => action(types.ON_WALLET_CREATE_FAILED, {}) - -export const onWalletCorrupted = () => action(types.ON_WALLET_CORRUPTED) +export const onWalletInitialized = (result: RewardsExtension.Result) => action(types.ON_WALLET_INITIALIZED, { + result +}) export const onTabId = (tabId: number | undefined) => action(types.ON_TAB_ID, { tabId diff --git a/components/brave_rewards/resources/extension/brave_rewards/background/events/rewardsEvents.ts b/components/brave_rewards/resources/extension/brave_rewards/background/events/rewardsEvents.ts index 480bc82e9912..2d5d089f8c1a 100644 --- a/components/brave_rewards/resources/extension/brave_rewards/background/events/rewardsEvents.ts +++ b/components/brave_rewards/resources/extension/brave_rewards/background/events/rewardsEvents.ts @@ -4,8 +4,8 @@ import rewardsPanelActions from '../actions/rewardsPanelActions' -chrome.braveRewards.onWalletCreated.addListener(() => { - rewardsPanelActions.onWalletCreated() +chrome.braveRewards.onWalletInitialized.addListener((result: RewardsExtension.Result) => { + rewardsPanelActions.onWalletInitialized(result) }) chrome.braveRewards.onPublisherData.addListener((windowId: number, publisher: RewardsExtension.Publisher) => { @@ -59,14 +59,6 @@ chrome.braveRewards.onPendingContributionSaved.addListener((result: number) => { } }) -chrome.braveRewards.onWalletFailed.addListener(() => { - rewardsPanelActions.onWalletCreateFailed() -}) - -chrome.braveRewards.onWalletCorrupted.addListener(() => { - rewardsPanelActions.onWalletCorrupted() -}) - chrome.braveRewards.onPublisherListNormalized.addListener((properties: RewardsExtension.PublisherNormalized[]) => { rewardsPanelActions.onPublisherListNormalized(properties) }) diff --git a/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts b/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts index 7ece2ac1b10f..edaf33095f7b 100644 --- a/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts +++ b/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts @@ -30,7 +30,6 @@ export const rewardsPanelReducer = (state: RewardsExtension.State | undefined, a state = storage.load() setBadgeText(state) } - const payload = action.payload switch (action.type) { case types.CREATE_WALLET: @@ -41,33 +40,33 @@ export const rewardsPanelReducer = (state: RewardsExtension.State | undefined, a state.walletCreated = false state.walletCorrupted = false break - case types.ON_WALLET_CREATED: - state = { ...state } - state.walletCreated = true - state.walletCreateFailed = false - state.walletCreating = false - state.walletCorrupted = false - chrome.braveRewards.saveAdsSetting('adsEnabled', 'true') - chrome.storage.local.get(['is_dismissed'], function (result) { - if (result && result['is_dismissed'] === 'false') { - chrome.browserAction.setBadgeText({ - text: '' - }) - chrome.storage.local.remove(['is_dismissed']) - } - }) - break - case types.ON_WALLET_CREATE_FAILED: - state = { ...state } - state.walletCreateFailed = true - state.walletCreating = false - state.walletCreated = false - state.walletCorrupted = false - break - case types.ON_WALLET_CORRUPTED: + case types.ON_WALLET_INITIALIZED: { + const result: RewardsExtension.Result = payload.result state = { ...state } - state.walletCorrupted = true + if (result === RewardsExtension.Result.WALLET_CREATED) { + state.walletCreated = true + state.walletCreateFailed = false + state.walletCreating = false + state.walletCorrupted = false + chrome.braveRewards.saveAdsSetting('adsEnabled', 'true') + chrome.storage.local.get(['is_dismissed'], function (result) { + if (result && result['is_dismissed'] === 'false') { + chrome.browserAction.setBadgeText({ + text: '' + }) + chrome.storage.local.remove(['is_dismissed']) + } + }) + } else if (result === RewardsExtension.Result.WALLET_CORRUPT) { + state.walletCorrupted = true + } else if (result !== RewardsExtension.Result.LEDGER_OK) { + state.walletCreateFailed = true + state.walletCreating = false + state.walletCreated = false + state.walletCorrupted = false + } break + } case types.ON_TAB_ID: if (payload.tabId) { getTabData(payload.tabId) diff --git a/components/brave_rewards/resources/extension/brave_rewards/constants/rewards_panel_types.ts b/components/brave_rewards/resources/extension/brave_rewards/constants/rewards_panel_types.ts index 0cb859e98660..7ed79687c65d 100644 --- a/components/brave_rewards/resources/extension/brave_rewards/constants/rewards_panel_types.ts +++ b/components/brave_rewards/resources/extension/brave_rewards/constants/rewards_panel_types.ts @@ -4,9 +4,7 @@ export const enum types { CREATE_WALLET = '@@rewards_panel/CREATE_WALLET', - ON_WALLET_CREATED = '@@rewards_panel/ON_WALLET_CREATED', - ON_WALLET_CREATE_FAILED = '@@rewards_panel/ON_WALLET_CREATE_FAILED', - ON_WALLET_CORRUPTED = '@@rewards_panel/ON_WALLET_CORRUPTED', + ON_WALLET_INITIALIZED = '@@rewards_panel/ON_WALLET_INITIALIZED', ON_TAB_ID = '@@rewards_panel/ON_TAB_ID', ON_TAB_RETRIEVED = '@@rewards_panel/ON_TAB_RETRIEVED', ON_PUBLISHER_DATA = '@@rewards_panel/ON_PUBLISHER_DATA', diff --git a/components/definitions/chromel.d.ts b/components/definitions/chromel.d.ts index 4209e696266a..1315e75aa5db 100644 --- a/components/definitions/chromel.d.ts +++ b/components/definitions/chromel.d.ts @@ -18,8 +18,8 @@ declare namespace chrome.braveRewards { const getPublisherData: (windowId: number, url: string, faviconUrl: string, publisherBlob: string | undefined) => {} const getWalletProperties: () => {} const getCurrentReport: () => {} - const onWalletCreated: { - addListener: (callback: () => void) => void + const onWalletInitialized: { + addListener: (callback: (result: RewardsExtension.Result) => void) => void } const onPublisherData: { addListener: (callback: (windowId: number, publisher: RewardsExtension.Publisher) => void) => void @@ -53,12 +53,6 @@ declare namespace chrome.braveRewards { const onPendingContributionSaved: { addListener: (callback: (result: number) => void) => void } - const onWalletFailed: { - addListener: (callback: () => void) => void - } - const onWalletCorrupted: { - addListener: (callback: () => void) => void - } const getACEnabled: (callback: (enabled: boolean) => void) => {} const onPublisherListNormalized: { addListener: (callback: (properties: RewardsExtension.PublisherNormalized[]) => void) => void diff --git a/components/definitions/rewardsExtensions.d.ts b/components/definitions/rewardsExtensions.d.ts index 0df1cad0b902..a59528ac4c52 100644 --- a/components/definitions/rewardsExtensions.d.ts +++ b/components/definitions/rewardsExtensions.d.ts @@ -71,7 +71,7 @@ declare namespace RewardsExtension { expiryTime: number } - export enum Result { + export const enum Result { LEDGER_OK = 0, LEDGER_ERROR = 1, NO_PUBLISHER_STATE = 2, @@ -85,7 +85,8 @@ declare namespace RewardsExtension { REGISTRATION_VERIFICATION_FAILED = 10, BAD_REGISTRATION_RESPONSE = 11, WALLET_CREATED = 12, - GRANT_NOT_FOUND = 13 + GRANT_NOT_FOUND = 13, + WALLET_CORRUPT = 17 } export interface Captcha {