Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] Update Rewards states #27055

Closed
Miyayes opened this issue Nov 30, 2022 · 4 comments · Fixed by brave/brave-core#16232
Closed

[Android] Update Rewards states #27055

Miyayes opened this issue Nov 30, 2022 · 4 comments · Fixed by brave/brave-core#16232

Comments

@Miyayes
Copy link
Collaborator

Miyayes commented Nov 30, 2022

Description

Update Rewards states

@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Jan 30, 2023

Verification PASSED on Samsung Galaxy Verion 12 running Bravemonoarm64.apk_1.48.141

Note: Reset rewards cases are NOT verified, thread about the discussion https://bravesoftware.slack.com/archives/CNH9Q6REV/p1675080664239119?thread_ts=1675061489.249839&cid=CNH9Q6REV

1. New user run through: Skip onboarding custodial connection - PASSED (follow-up issues logged)

Steps:
1.1 Create new profile, close and relaunch to pull griffin seed
1.2 Enable Rewards, declare a supported region on staging like the US, and go through onboarding. Verify that onboarding slides match designs. See #27901 (comment) for differences found between implementation and figma design doc.

Example Example Example Example Example Example Example Example Example Example
Screenshot_20230130-125715_Brave - Beta Screenshot_20230130-125722_Brave - Beta Screenshot_20230130-125738_Brave - Beta Screenshot_20230130-125756_Brave - Beta Screenshot_20230130-125813_Brave - Beta Screenshot_20230130-125818_Brave - Beta Screenshot_20230130-125823_Brave - Beta Screenshot_20230130-125830_Brave - Beta Screenshot_20230130-125837_Brave - Beta Screenshot_20230130-125845_Brave - Beta

1.3 Do not connect to the custodian at the end of onboarding
1.4 Check if non-connected state Rewards panel & NTP Widget appear as expected (no NTP widget in Android)

Panel initially Panel after visiting some sites
Screenshot_20230130-131410_Brave - Beta Screenshot_20230130-132149_Brave - Beta

1.5 Check brave://rewards settings page to see if it matches designs

Note - see #27619 for updated text for first paragraph, as figma does not match this.

1.6 Check brave://settings/rewards to see if it makes sense with non-connected state
NA for Android as there are no brave://settings/rewards settings in Android
1.7 Toggle Brave Private Ads ON/OFF and observe if ON/OFF state of Rewards panel corresponds, there is switch style/color mismatch hence logged #28129

Example Example
Screenshot_20230130-141417_Brave - Beta Screenshot_20230130-141427_Brave - Beta

1.8 Toggle non-connected Rewards panel ON/OFF and observe if ON/OFF state of Brave Private Ads component in brave://rewards corresponds

Example Example
Screenshot_20230130-141657_Brave - Beta Screenshot_20230130-141704_Brave - Beta

1.9 Use an in-line tipping button to check the tipping banner, and ensure the tipping banner matches design spec for non-connected state users (i.e., is “locked”)

NA for Android - more info https://bravesoftware.slack.com/archives/CNH9Q6REV/p1675072159268739?thread_ts=1675061489.249839&cid=CNH9Q6REV

1.10 Navigate to a couple verified sites/channels and check the Rewards panel for count of them. (This is finicky and we have a follow-up issue to make this more reliable - see #27907)

Screenshot_20230130-132149_Brave - Beta

1.11 Connect to a custodian and verify that user is now in connected state with full Rewards experience

Example Example Example
Screenshot_20230130-155421_Brave - Beta Screenshot_20230130-155436_Brave - Beta Screenshot_20230130-155442_Brave - Beta

1.12 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example
Screenshot_20230130-155510_Brave - Beta Screenshot_20230130-155524_Brave - Beta Screenshot_20230130-155539_Brave - Beta Screenshot_20230130-155554_Brave - Beta Screenshot_20230130-155603_Brave - Beta Screenshot_20230130-155627_Brave - Beta

1.13 Try to trigger an Auto-Contribute

Example Example Example Example
Screenshot_20230130-155645_Brave - Beta Screenshot_20230301-155835_Brave - Beta Screenshot_20230301-155842_Brave - Beta Screenshot_20230301-155858_Brave - Beta

1.14 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230301-155922_Brave - Beta Screenshot_20230301-155939_Brave - Beta

1.15 After everything works, reset Brave Rewards [Need clarification not sure about the behavior]

Example Example Example
Screenshot_20230301-160610_Brave - Beta Screenshot_20230301-160616_Brave - Beta Screenshot_20230301-160628_Brave - Beta

1.16 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel looks normal. Don’t need to check anything else. [Need clarification not sure about the behavior]

Example Example Example Example Example Example Example Example Example Example Example Example
Screenshot_20230301-190008_Brave - Beta Screenshot_20230301-190135_Brave - Beta Screenshot_20230301-190142_Brave - Beta Screenshot_20230301-190146_Brave - Beta Screenshot_20230301-190012_Brave - Beta Screenshot_20230301-190020_Brave - Beta Screenshot_20230301-190030_Brave - Beta Screenshot_20230301-190036_Brave - Beta Screenshot_20230301-190042_Brave - Beta Screenshot_20230301-190050_Brave - Beta
Screenshot_20230301-190059_Brave - Beta Screenshot_20230301-190107_Brave - Beta
2. New user run through: Connect to custodian during onboarding - PASSED

Steps:
2.1 Create new profile, relaunch to pull griffin seed
2.2 Enable Rewards, declare a supported region on staging like the US, and go through onboarding, and connect to custodian at the end of onboarding via the last onboarding slide. (Verify that onboarding slides match designs.)

Example Example Example Example Example Example Example Example Example Example
Screenshot_20230130-125715_Brave - Beta Screenshot_20230130-125722_Brave - Beta Screenshot_20230130-125738_Brave - Beta Screenshot_20230130-125756_Brave - Beta Screenshot_20230130-125813_Brave - Beta Screenshot_20230130-125818_Brave - Beta Screenshot_20230130-125823_Brave - Beta Screenshot_20230130-125830_Brave - Beta Screenshot_20230130-125837_Brave - Beta Screenshot_20230130-125845_Brave - Beta

2.3 User should now be in full connected state

Example Example Example
Screenshot_20230130-155421_Brave - Beta Screenshot_20230130-155436_Brave - Beta Screenshot_20230130-155442_Brave - Beta

2.4 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example
Screenshot_20230130-155510_Brave - Beta Screenshot_20230130-155524_Brave - Beta Screenshot_20230130-155539_Brave - Beta Screenshot_20230130-155554_Brave - Beta Screenshot_20230130-155603_Brave - Beta Screenshot_20230130-155627_Brave - Beta

2.5 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230301-155922_Brave - Beta Screenshot_20230301-155939_Brave - Beta
3. New user run through (JP): Skip onboarding custodial connection - PASSED

Steps:
3.1 Create new profile, relaunch to pull griffin seed
3.2 Enable Rewards, declare JP, and go through onboarding. Verify that onboarding slides match designs. In this case, there should NOT be a slide about Auto-Contribute since it is Japan.

Example Example Example Example Example Example Example Example Example Example Example
Screenshot_20230301-212407_Brave - Beta Screenshot_20230301-212414_Brave - Beta Screenshot_20230301-212430_Brave - Beta Screenshot_20230301-212438_Brave - Beta Screenshot_20230301-212444_Brave - Beta Screenshot_20230301-212448_Brave - Beta Screenshot_20230301-212454_Brave - Beta Screenshot_20230301-212502_Brave - Beta Screenshot_20230301-212510_Brave - Beta Screenshot_20230301-212820_Brave - Beta Screenshot_20230301-212840_Brave - Beta

3.3 Do not connect to the custodian at the end of onboarding
3.4 Check if non-connected state Rewards panel & NTP Widget appear as expected. Note, after visiting some sites, panel/widget don't display any messaging about supporting creators as in non-JP case. Per discussion via slack with Chris this is expected for now, and he has logged #27936 to determine how to handle this.

Panel Widget
Screenshot_20230301-214955_Brave - Beta Screenshot_20230301-215151_Brave - Beta

3.5 Check brave://rewards settings page to see if it matches designs

Screenshot_20230301-214955_Brave - Beta

3.6 Check brave://settings/rewards to see if it makes sense with non-connected state

NA

3.7 Toggle Brave Private Ads ON/OFF and observe if ON/OFF state of Rewards panel corresponds

Example Example
Screenshot_20230301-215211_Brave - Beta Screenshot_20230301-215218_Brave - Beta

3.8 Toggle non-connected Rewards panel ON/OFF and observe if ON/OFF state of Brave Private Ads component in brave://rewards corresponds

Example Example
Screenshot_20230301-215151_Brave - Beta Screenshot_20230301-215200_Brave - Beta

3.9 Use an in-line tipping button to check the tipping banner, and ensure the tipping banner matches design spec for non-connected state users (i.e., is “locked”)

NA

3.10 Navigate to a couple verified sites/channels and check the Rewards panel for count of them. (This is finicky and we have a follow-up issue to make this more reliable.) - does not work in JP region, see #27936
3.11 Connect to a custodian and verify that user is now in connected state with full Rewards experience

Example Example
Screenshot_20230301-215757_Brave - Beta Screenshot_20230301-215819_Brave - Beta

3.12 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example
Screenshot_20230301-215940_Brave - Beta Screenshot_20230301-215843_Brave - Beta Screenshot_20230301-215847_Brave - Beta Screenshot_20230301-215857_Brave - Beta Screenshot_20230301-215914_Brave - Beta Screenshot_20230301-215921_Brave - Beta

3.13 Go to brave://rewards page and make sure there is no Auto-Contribute section, since this is Japan.

Example Example
Screenshot_20230301-220038_Brave - Beta Screenshot_20230301-220026_Brave - Beta

3.14 Go to brave://settings/rewards and make sure there is no Auto-Contribute section.

NA

3.15 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230301-220055_Brave - Beta Screenshot_20230301-220116_Brave - Beta
4. New user run through (JP): Connect to custodian during onboarding - PASSED

Steps:
4.1 Create new profile, relaunch to pull griffin seed
4.2 Enable Rewards, declare JP, and go through onboarding. Verify that onboarding slides match designs. In this case, there should NOT be a slide about Auto-Contribute since it is Japan.
4.3 Connect to a custodian at the end of onboarding slides. Only bitFlyer should appear as an option.

Example Example Example
Screenshot_20230302-155103_Brave - Beta Screenshot_20230302-155110_Brave - Beta Screenshot_20230302-155115_Brave - Beta

4.4 User should now be in the full connected state.
4.5 Check brave://rewards settings page to see if there’s Auto-Contribute. There should be no A-C since this is Japan.

Example Example
Screenshot_20230302-155307_Brave - Beta Screenshot_20230302-155314_Brave - Beta

4.6 Check brave://settings/rewards for anything odd (e.g., check for presence of A-C)

NA

4.7 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example
Screenshot_20230302-155553_Brave - Beta Screenshot_20230302-155603_Brave - Beta Screenshot_20230302-155627_Brave - Beta Screenshot_20230131-155814_Brave - Beta Screenshot_20230131-155832_Brave - Beta

4.8 Go to brave://rewards page and make sure there is no Auto-Contribute section, since this is Japan.

Example Example
Screenshot_20230131-155941_Brave - Beta Screenshot_20230131-155948_Brave - Beta

4.9 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230131-160001_Brave - Beta Screenshot_20230131-160012_Brave - Beta
5. New user: Non-connected state (connect to custodian during onboarding cancellation) - PASSED

Steps:
5.1 Create new profile, relaunch to pull griffin seed
5.2 Enable Rewards, declare a supported region on staging like the US, and go through onboarding, and click to connect to custodian at the end of onboarding via the last onboarding slide. (Verify that onboarding slides match designs.)

Example Example Example
Screenshot_20230131_171339 Screenshot_20230131_171344 Screenshot_20230131_171349

5.3 Don’t complete connecting to custodian and cancel out
5.4 Check if user is in non-connected state

Screenshot_20230131_171413

6. New user: Non-connected state (no available custodian, then custodian becomes available) - PASSED

Note, slightly different than from test plan, using Charles Proxy to simulate this scenario.

Pre-req: Have Charles Proxy set up to simulate a country (such as US) not being on the "allow" list for any custodian.

Steps:
6.1 Create new profile, relaunch to pull griffin seed.
6.2 Enable Rewards, declare the unsupported region in your Charles Proxy rule (GB in my case) and go through onboarding, and verify there is NO slide at the end of onboarding telling the user to connect to a custodian.

Example Example
Screenshot_20230131-173158_Brave - Beta Screenshot_20230131-173630_Brave - Beta

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
........
 [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-01-31 17:37:41.259 31089-31089/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 10838 s

6.3 Check if user is in no-custodian non-connected state (corresponds to row “Custodial services not available in your location” in Figma)

Example Example
Screenshot_20230131-174019_Brave - Beta Screenshot_20230131-174031_Brave - Beta

6.4 Update the Charles Proxy rule to enable GB at /parameters for a custodian
6.5 Try to trigger/wait for new /parameters to be fetched by the browser

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
..........
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","GB","US"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","GB","US","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-01-31 17:43:48.618 32624-32624/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 10803 s

6.6 Once new /parameters fetched, check to see if user has evolved into the non-connected state with available custodians and matches spec (“Connect your account prompt” row in Figma)

Example Example
Screenshot_20230131-174619_Brave - Beta Screenshot_20230131-174626_Brave - Beta

6.7 Go and connect a custodian and check if it is successfully linked

Example Example Example Example Example
Screenshot_20230131-174647_Brave - Beta Screenshot_20230131-174700_Brave - Beta Screenshot_20230131-174751_Brave - Beta Screenshot_20230131-174800_Brave - Beta Screenshot_20230131-174809_Brave - Beta
7. New user: Non-connected state (available custodian → no custodians) - PASSED

Note, slightly different than from test plan, using Charles Proxy to simulate this scenario.

Pre-req: Have Charles Proxy set up to simulate a country (such as GB) being on the "allow" list for custodian(s).

7.1 Create a new profile, relaunch to pull griffin seed
7.2 With Charles Proxy rule running, Enable Rewards, declare a supported region by any custodian (like GB) and go through onboarding, and do not connect to custodian yet.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
.......
 [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","GB","US"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","GB","US","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-01-31 17:57:23.419 7564-7564/? V/chromium: [VERBOSE1:catalog.cc(128)] Catalog id 3fc47dec805ccedcd2b8ed9a640dbbcd079e6ead is up to date

7.3 Check if the user is in a normal non-connected state with available custodians.

Example Example Example Example
Screenshot_20230131-174619_Brave - Beta Screenshot_20230131-174626_Brave - Beta Screenshot_20230131-174647_Brave - Beta Screenshot_20230131-174700_Brave - Beta

7.4 Update the Charles Proxy rule to disable GB at /parameters for all custodians.
7.5 Try to trigger/wait for new /parameters to be fetched by the browser

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
.........
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-01-31 18:00:51.081 8098-8098/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 10893 s

7.6 Once new /parameters are fetched, check to see if the user has evolved into the non-connected state with no available custodians (corresponding to “Custodial services not available in your location row” in Figma).

Example Example
Screenshot_20230131-180143_Brave - Beta Screenshot_20230131-180153_Brave - Beta
8. Upgrade case run through: unverified with vBAT → grandfathered-unverified state - PASSED

Steps:
8.1 In older version of Brave, create a Rewards profile in staging (ideally select a country with a supported custodian and that you have a matching account for, such as US)
8.2 Don’t accept UGP grant (just to avoid confusion)
8.3 Send yourself some ad grant (vBAT), and claim it

Example Example Example Example Example
Screenshot_20230131-214412_Brave - Beta Screenshot_20230131-214511_Brave - Beta Screenshot_20230131-215031_Brave - Beta Screenshot_20230131-215131_Brave - Beta Screenshot_20230131-215150_Brave - Beta

8.4 Upgrade Brave to version with Rewards 2.5 Phase 3.
8.5 Check if you’re in the grandfathered-unverified state and that your vBAT balance is still correct.

Example Example Example Example Example
Screenshot_20230131-215332_Brave - Beta Screenshot_20230131-215423_Brave - Beta Screenshot_20230131-215350_Brave - Beta Screenshot_20230131-215405_Brave - Beta Screenshot_20230131-215411_Brave - Beta

8.6 Send vBAT tip and make a vBAT A-C to check if it still works

Tip:

Example Example Example Example Example
Screenshot_20230131-215503_Brave - Beta Screenshot_20230131-215511_Brave - Beta Screenshot_20230131-215524_Brave - Beta Screenshot_20230131-215537_Brave - Beta Screenshot_20230131-215550_Brave - Beta

A-C:

Example Example Example Example Example
Screenshot_20230131-215648_Brave - Beta Screenshot_20230302-215904_Brave - Beta Screenshot_20230302-215921_Brave - Beta Screenshot_20230302-215935_Brave - Beta Screenshot_20230302-220133_Brave - Beta

8.7 Verify/connect a custodian
8.8 Confirm your vBAT was userdrained to custodial account

Logs:


 [ REQUEST ]
    > URL: https://api-sandbox.uphold.com/v0/me/cards/a93f3116-6bfb-46ae-aafe-a644ffa78437
    > Method: GET
2023-03-02 22:00:49.507 4733-4733/? V/chromium: [VERBOSE1:issuers.cc(74)] OnFetchIssuers
2023-03-02 22:00:49.507 4733-4733/? V/chromium: [VERBOSE6:issuers.cc(76)] URL Response:
      URL: https://static.ads.bravesoftware.com/v3/issuers/
      Response Status Code: 200
      Response: {"ping":7200000,"issuers":[{"name":"payments","publicKeys":[{"publicKey":"VrhkJG+iczm9H70Hf6ItuphlXqUal5gP7KnvCPkbsx8=","associatedValue":"0.3"},{"publicKey":"bMun+Hzn2woklUwPbv1KzzfCYxiN7CTSzmDedttKCHo=","associatedValue":"0.15"},{"publicKey":"QPHnfUzsN8c3jSjZ/sHWvrfSXe2et+p15f0iYFON9HE=","associatedValue":"0.10"},{"publicKey":"GPwPK908Pd5bgdZBY0FhE89FFg5bnOR6dpKJroLwny0=","associatedValue":"0.05"},{"publicKey":"+jeCSrAyjhhfy4GSXfXLDiG4EcVuAQ8tdR9fijTPGGQ=","associatedValue":"0.01"},{"publicKey":"ors1v/xNtTTFbAOEWjN9Pt2W1DL2TCEXBcBGnDK4m0w=","associatedValue":"0.25"},{"publicKey":"1gVuS5iKb2c1MIr4+nn9zlcok0S4XWy/U7xlGPZ3CyI=","associatedValue":"0.025"},{"publicKey":"NqfX1zRJVLZ42pD3lyBi6daeYZKO3lPJB6YXrmGUcUQ=","associatedValue":"0.20"},{"publicKey":"9Am4emQYV2yhJTY4mO3nCACk83ntFR/dxlFDZzgnJjE=","associatedValue":"0"}]},{"name":"confirmations","publicKeys":[{"publicKey":"JDBWY590tEpD7gWjENydNI3un3MzxJeHsfnrhp+esC4=","associatedValue":""}]}]}
2023-03-02 22:00:49.512 4733-4733/? V/chromium: [VERBOSE1:account.cc(342)] Updated issuers
2023-03-02 22:00:49.521 4733-4733/? V/chromium: [VERBOSE1:refill_unblinded_tokens.cc(113)] Refill unblinded tokens
2023-03-02 22:00:49.522 4733-4733/? V/chromium: [VERBOSE1:refill_unblinded_tokens.cc(123)] RequestSignedTokens
2023-03-02 22:00:49.522 4733-4733/? V/chromium: [VERBOSE2:refill_unblinded_tokens.cc(124)] POST /v3/confirmation/token/{paymentId}
2023-03-02 22:00:49.583 4733-4733/? V/chromium: [VERBOSE6:refill_unblinded_tokens.cc(134)] URL Request:
      URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/token/62a64a63-7f0e-545b-9fba-f6a25e17082f
      Content: {"blindedTokens":["tkVucnQ7TYxF9P9QYoiQzVU5DlVsDXtbaEMHW23BBk4=","VupIJM6XohyvAxdXWkTfKPc7XLMz4YQZrTkKL4dyKEU=","gjUiG1th96jt5Sv4TMn0xlZcyMh0Szprxb+i+p0Jm1Q=","5AS9aRwvMPZcNVZTIQMB7EKqM1M3V2OXqqFggyYFHDI=","WpEPraMoLGoFLjaVA5SjJMzFi+qKGs3ncCj8xIDBKWE=","cIKwTltqXG3nrrAWzM5TWsWD5HI9k2EnPOTZbPAbmU4=","el1iFfeipMzeSE5MsYcZL08kMoVsytL5eZMwiqApExY=","XHvYNeQXZ4FrO70nAm6Y+CJEaiNH/DIWN7d53eTn/Vw=","zAuZWyY0sz3OrxVLZABNgW44iRMLhl5hGSdurGTPOhs=","bskis5BLDqrRXR8Yh1rxsd1YGlap6XwkZ2TV2KaJS1U=","xpqSqMFwVxL+H8+Dz9ziVylkq2ts6C9pmJD/6bi5wXk=","KN1GK5jVyuI6ZzAlSkak3nBFLwEOVre3l7LQQuCXXBg=","5FLJ3YkbvhFz6RvtvLULBAeVKiGCwXUCurAlLXSmlHc=","znv+UbwVZwHIDTxy1Lk0AYvOdGk9tqr5fC78BBSDO2g=","mClQP8R3n2xngSUihkLVrD0ZOy6/bHbAV3oTdF5Shhc=","RNhVIquXPwzU9OGFYIGAYrIZH+VFRXzVoIy8I8eg/hM=","UkHi0U5FO8qZi+qE9JJ8SSKIX2YXy8UZOC1JzXbOL1M=","jlDyHlqdMCxwFuQ0QQ2e300cv81D7ffE1m4IuAZqDlk=","epe2qIkVIvoWBlQA3mLH379DCnQKWMq9yWmNQch+u3o=","iMk9hG39/OKw7Cq3obe6tKLaqwZ6Wj2Wf8uEEeWCvi8=","ggwkKwWAtJLaezeI8vPiYBceEJIEU1VYxRODO0Oe9H0=","dD5D4LU4X1BY8mA7QKXLpZmzSYKaMJ6MWaUOUiAdGy4=","FtOS9nfSu/Klo2mjG/EgdUInJb/9ynE0GgnFR/ZDZXk=","PuKRAy+I0A9TQPLjHUAN1nAFkYoOT4AwEeq78itG2HY=","MoERPqgXsuvCO2Z+i+EInIkU8d/KZdIGHkM83yhZTyI=","CE9OruBbjaPghVaeWXCSptxtnquM6DGMbGgSmt9FGks=","LqZ90l2UTqNIYXpu/ds2CF3FSVLevhpu5MKhA34yWhU=","dB/ncEWVz15b6rPDS+u9Ha+OB1lBIkSiDybVLRGggmE=","cCp/rR7gGaygfpG4TcgDBG6yXFm3cdWtf0T89qnZK2Y=","tonE9sPhWHMlRpUhk8l399IrpH1Wg5bZfiiQAJ/aZm4=","ru7CPMU3b6jft9+XqotWJN88/Mkonhg0igA14kx040Q=","oA4fKP3Cdq+9C93nRJeNTuqE//WmJuuPzRw0ObuZxCs=","vA341/oz189uyE2Nb06Rti1MbTa4dURCywJwuUNUrRw=","MPU72I1hMukYctCqHumr1Nyocm5Vfek+sr1MhSpaq0E=","IO+Ek7XbLwLX0kKtDE2gyNFUkguo3ct60yiecGDG+EU=","Vi5ghBK2pJRWDZMJ6SEdswwjFmOnecJtmzF264pQCVw=","2mEyqlg1zPFNihMKcmVi9vgh2JuLRMUMnw3TQO4dGHc=","HCCNePTwUsNx2FbP9wKRY9uQh2gDylpX+o9w67zTbBQ=","mECLdDksJkxUJPXR3MO4uatVdbxeDpUwylHnUaGNdzg=","GHpZ3FN+dg/V86KazcZmTlzHNqGp6uonXM6/i9qMpnw=","eAcK2uVB+jlnbmtJZbmIwteRDGMfH85T0VDrKK5x8Rw=","QJp5dyL8iYL3XLdccB761JyETrvtyyM3lI2VsDztHhQ=","nhNDEkxo0lLpQFF2zBZC1M7OLFvhGXq1zGZ5aPYrGgI=","XiKbhM/lYyH/3NVGO78JWQ41lN4D9rXmx6vSGYI4HWc=","fnOfC+DVlWCk9EXqFAOwEmc/hC+XSfY829O3paPMExU=","wt82iuzJk0X1uRHAqKu+MwGwg974S4Y8lllPMbLaUFo=","hicLU9a8Cgb5wKJMkRVJ+X3E+qFUn1ioQAlMhxzO5AQ=","vLTPkf2NfaMfBYDd5hRQlNEiDs0FCdBlqg95qgZimS8=","1iq/VVc6DByTz0LEQ9jmV5VGEmE9zy/ctkcWHmXgigM=","kjDWG/pRZZAIPhHaGw/xi8s2crfUfusHv8/QQMgI6xk="]}
      Content Type: application/json
      Method: kPost
2023-03-02 22:00:49.587 4733-4733/? V/chromium: [VERBOSE1:issuers.cc(129)] Fetch issuers in 0 hours, 19 minutes, 46 seconds at 22:20:35.584
2023-03-02 22:00:49.609 4733-4733/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
    [ RESPONSE - OnRequest ]
    > Url: https://api-sandbox.uphold.com/v0/me/cards/a93f3116-6bfb-46ae-aafe-a644ffa78437
    > Result: Success
    > HTTP Code: 200
    > Body: {"CreatedByApplicationId":"193a77cf-02e8-4e10-8127-8a1b5a8bfece","address":{"wire":"UH33480D32"},"available":"14.25","balance":"14.25","currency":"BAT","id":"a93f3116-6bfb-46ae-aafe-a644ffa78437","label":"Brave Browser","lastTransactionAt":"2023-01-31T03:40:27.678Z","settings":{"position":1,"protected":false,"starred":true},"normalized":[{"available":"2.92","balance":"2.92","currency":"GBP"}],"wire":[{"accountName":"Uphold Europe Limited","address":{"line1":"Tartu mnt 2","line2":"10145 Tallinn, Estonia"},"bic":"LHVBEE22","currency":"EUR","iban":"EE76 7700 7710 0159 0178","name":"AS LHV Pank"},{"accountName":"Uphold Europe Limited","accountNumber":"00000083","address":{"line1":"1 Angel Court","line2":"London, EC2R 7HJ"},"bic":"LHVBEE22","currency":"GBP","iban":"EE76 7700 7710 0159 0178","name":"AS LHV PANK UK BRANCH","sortCode":"040300"},{"accountName":"Uphold HQ, Inc.","accountNumber":"299007316","address":{"line1":"99 Park Avenue, Floor 4","line2":"New York, NY 10016"},"bic":"MCBEUS33","currency":"USD","name":"Metropolitan Commercial Bank","routingNumber":"026013356"}]}
2023-03-02 22:00:50.258 4733-4733/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
    [ RESPONSE - OnRequest ]
    > Url: https://grant.rewards.bravesoftware.com/v2/suggestions/claim
    > Result: Success
    > HTTP Code: 200
    > Body: {"drainId":"a32924c3-6450-497f-a48d-5bc7b48716af"}
2023-03-02 22:00:50.264 4733-4733/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
    [ RESPONSE - OnRequest ]
    > Url: https://grant.rewards.bravesoftware.com/v2/suggestions/claim
    > Result: Success
    > HTTP Code: 200
    > Body: {"drainId":"5bce91e4-6ad9-4cb3-a3ec-f1c8947434eb"}
2023-03-02 22:00:50.284 4733-4733/? V/chromium: [VERBOSE5:ledger_impl.cc(117)] 

Example Example
Screenshot_20230302-220148_Brave - Beta Screenshot_20230302-220159_Brave - Beta

8.9 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230302-220230_Brave - Beta Screenshot_20230302-220242_Brave - Beta

8.10 Now that you’re verified/connected to a custodian, make a tip and see if it works

Example Example Example Example Example
Screenshot_20230131-215503_Brave - Beta Screenshot_20230131-215511_Brave - Beta Screenshot_20230131-215524_Brave - Beta Screenshot_20230131-215537_Brave - Beta Screenshot_20230131-215550_Brave - Beta

8.11 After everything works, reset Brave Rewards

8.12 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state (not grandfathered-unverified). After this point, you don’t need to check anything else.

9. Upgrade case run through: Verified state → connected state - PASSED

Steps:
9.1 In an older version of Brave, create a Rewards profile in staging in a non-JP region, and connect to a custodian.

Example Example Example Example
Screenshot_20230303-113339_Brave - Beta Screenshot_20230303-113346_Brave - Beta Screenshot_20230303-113358_Brave - Beta Screenshot_20230303-113409_Brave - Beta

9.2 Upgrade your browser to a version containing Rewards 2.5 Phase 3 changes.

Example Example Example Example
Screenshot_20230303-113448_Brave - Beta Screenshot_20230303-113455_Brave - Beta Screenshot_20230303-113500_Brave - Beta Screenshot_20230303-113504_Brave - Beta

9.3 Ensure that you remain in the connected state and that things are working properly (e.g., try a tip and an A-C)

Tip:

Example Example Example Example Example
Screenshot_20230303-113533_Brave - Beta Screenshot_20230303-113548_Brave - Beta Screenshot_20230303-113557_Brave - Beta Screenshot_20230303-113604_Brave - Beta Screenshot_20230303-113629_Brave - Beta

A-C:

Example Example Example Example
Screenshot_20230303-120942_Brave - Beta Screenshot_20230303-120950_Brave - Beta Screenshot_20230303-120934_Brave - Beta Screenshot_20230303-120950_Brave - Beta

9.4 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230303-122808_Brave - Beta
Screenshot_20230303-122848_Brave - Beta

9.5 After everything works, reset Brave Rewards

9.6 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state. After this point, you don’t need to check anything else.

10. Upgrade case run through: Verified state (logged out) → connected state (logged out) - PASSED

Steps:
10.1 In an older version of Brave, create a Rewards profile in staging in a non-JP region, and connect to a custodian.
10.2 Go into the custodian website and expire your OAuth access token
10.3 Check that you’re now in the logged out state

Example Example
Screenshot_20230303-132008_Brave - Beta Screenshot_20230303-132015_Brave - Beta

10.4 Upgrade your browser to a version containing Rewards 2.5 Phase 3 changes.
10.5 Ensure that you remain in logged out state (can also check brave://rewards-internals for confirmation)

Example Example Example
Screenshot_20230303-132151_Brave - Beta Screenshot_20230303-132159_Brave - Beta Screenshot_20230303-132235_Brave - Beta

10.6 Check if the tipping banner is unlocked (it should be)

Example Example
Screenshot_20230303-132351_Brave - Beta Screenshot_20230303-132357_Brave - Beta

10.7 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu.

Example Example
Screenshot_20230303-132416_Brave - Beta logged #28191

10.8 Log into your custodian again and make sure you’re properly transitioned to the connected state

Screenshot_20230303-132931_Brave - Beta

10.9 Once connected again, make a tip to see if it works.

Example Example Example Example Example Example
Screenshot_20230303-133050_Brave - Beta Screenshot_20230303-133103_Brave - Beta Screenshot_20230303-133124_Brave - Beta Screenshot_20230303-133131_Brave - Beta Screenshot_20230303-133143_Brave - Beta
11. Upgrade case (JP): Unverified → grandfathered-unverified - PASSED

Steps:
11.1 In older version of Brave, create a Rewards profile in staging and declare JP

Example Example
Screenshot_20230303-150938_Brave - Beta Screenshot_20230303-151022_Brave - Beta

11.2 Don’t accept UGP grant (just to avoid confusion)
11.3 Upgrade Brave to version with Rewards 2.5 Phase 3.
11.4 Check if you’re in the grandfathered-unverified state
11.5 A-C should not appear in brave://rewards

Example Example
Screenshot_20230303-151112_Brave - Beta Screenshot_20230303-151121_Brave - Beta

11.6 A-C should not appear in brave://settings/rewards

Screen Shot 2023-01-23 at 1 47 59 PM

11.7 Verify/connect a custodian (bitFlyer)

Example Example Example
Screenshot_20230303-151337_Brave - Beta Screenshot_20230303-151345_Brave - Beta Screenshot_20230303-151357_Brave - Beta

11.8 After everything works, reset Brave Rewards

11.9 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state (not grandfathered-unverified). After this point, you don’t need to check anything else.

12. Upgrade case (JP): Verified → Connected - PASSED

Steps:
12.1 In an older version of Brave, create a Rewards profile in staging and declare JP, then verify with bitFlyer.

Example Example Example
Screenshot_20230303-152316_Brave - Beta Screenshot_20230303-152417_Brave - Beta Screenshot_20230303-152427_Brave - Beta

12.2 Don’t accept UGP grant (just to avoid confusion)
12.3 Upgrade Brave to version with Rewards 2.5 Phase 3.
12.4 Check if you’re in the new connected state.

Example Example
Screenshot_20230303-152512_Brave - Beta Screenshot_20230303-152552_Brave - Beta

12.5 A-C should not appear in brave://rewards

Example Example
Screenshot_20230303-152604_Brave - Beta Screenshot_20230303-152611_Brave - Beta

12.6 A-C should not appear in brave://settings/rewards

NA

12.7 After everything works, reset Brave Rewards

12.8 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state. After this point, you don’t need to check anything else.

13. Upgrade case: Brave Private Ads & A-C disabled remains disabled - PASSED

Steps:
13.1 In an older version of Brave, create a new Rewards profile on staging and declare a non-JP region. You do not need to connect to a custodian.

Example Example
Screenshot_20230303-163057_Brave - Beta Screenshot_20230303-163107_Brave - Beta

13.2 Disable Brave Private Ads.
13.3 Disable Auto-Contribute.

Screenshot_20230303-163120_Brave - Beta

13.4 Upgrade to a version of Brave with Rewards 2.5 Phase 3.
13.5 Ensure that you’re in the grandfathered-unverified state.

Example Example Example
Screenshot_20230303-163149_Brave - Beta Screenshot_20230303-163209_Brave - Beta Screenshot_20230303-163219_Brave - Beta

13.6 Open tipping banner and make sure that it’s unlocked (since you’re in the grandfathered-unverified state)

Example Example
Screenshot_20230303-163239_Brave - Beta Screenshot_20230303-163244_Brave - Beta

13.7 Ensure that Brave Private Ads and Auto-Contribute are still disabled and weren’t turned on

Screenshot_20230303-163209_Brave - Beta

14. General Rewards regression testing - , with follow up issue(s)_PASSED

Steps:
14.1 New profile and start in the non-connected state (in a non-JP region).
14.2 Go into brave://rewards page, go into settings of individual components and see if things generally seem to appear as working like they used to.

  • Logged 30-day ads history is blank  #27987, 30 day ads history is blank after viewing ads [NA for Android]
  • confirmed changes made on brave://rewards are reflected on brave://settings/rewards [NA for Android]

14.3 General regression testing of the brave://settings/rewards page and its various toggles. [NA for Android]

  • confirmed changes made on brave://settings/rewards are reflected on brave://rewards (where applicable)
  • confirmed in-line tip buttons can be toggled off from brave://settings/rewards

14.4 Connect to a custodian

Example Example Example
Screenshot_20230303-164405_Brave - Beta Screenshot_20230303-164416_Brave - Beta Screenshot_20230303-164422_Brave - Beta

14.5 Restart Brave browser
14.6 Go into brave://rewards page, go into settings of individual components and see if things generally seem to appear as working like they used to.

14.7 General regression testing of the brave://settings/rewards page and its various toggles. [NA for Android]

  • confirmed changes made on brave://settings/rewards are reflected on brave://rewards
  • confirmed in-line tip buttons can be toggled off from brave://settings/rewards

14.8 Generally keep an eye out for anything that is out of the ordinary based on past Rewards experience.
14.9 After everything works, reset Brave Rewards
14.10 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state. After this point, you don’t need to check anything else.

15. Rewards payout banner status (non-connected state) - PASSED

Steps:
15.1 Create new profile in staging so you’re in the new non-connected state
15.2 View couple of ads and confirm ads are cashed in with the server (verify Successfully redeemed unblinded payment tokens msg in logs)
15.3 Look for the last message similar to "You have X unblinded payment tokens which will be redeemed in (some hours, minutes, seconds) at (some time)" message, once this time has come, you should then see a response in the logs for "OnRedeemUnblindedPaymentTokens". If this is successful, you can proceed to next steps.

Logs:

2023-02-05 21:07:13.299 24306-24306/? V/chromium: [VERBOSE1:redeem_unblinded_payment_tokens.cc(139)] OnRedeemUnblindedPaymentTokens
2023-02-05 21:07:13.299 24306-24306/? V/chromium: [VERBOSE6:redeem_unblinded_payment_tokens.cc(141)] URL Response:
      URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/payment/ab8239a9-2a92-52f8-8362-7a0d95b7f536
      Response Status Code: 200
      Response: {"message":"Ok","status":200}

15.4 Advance clock to the next month to the 2nd (or between 1st and 7th), and then relaunch the browser, to see if you see any “Payout will arrive in x days” banner”. There should NOT be any banner like this.

Example Example
Screenshot_20230302-211148_Brave - Beta Screenshot_20230302-211158_Brave - Beta

15.5 Advance your clock to the 8th or later and then relaunch the browser.
15.6 Ask someone on server team, or use Charles Proxy to set the payout status at the staging /parameters endpoint to “processing” for unverified users.
15.7 Make sure that the browser has picked up this new /parameters value.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
......
 [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-09 21:16:44.710 7793-7793/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 10899 s

15.8 Make sure no “processing” banner appears in the Rewards panel, NTP widget, or brave://rewards page.

Example Example
Screenshot_20230302-211148_Brave - Beta Screenshot_20230302-211158_Brave - Beta

15.9 Ask someone on server team, or use Charles Proxy to set the payout status at the staging /parameters endpoint to “complete” for unverified users.
15.10 Make sure that the browser has picked up this new /parameters value.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-09 21:25:28.917 8677-8677/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 11156 s

15.11 Make sure no “complete” banner appears in the Rewards panel, NTP widget, or brave://rewards page.

Example Example
Screenshot_20230302-211148_Brave - Beta Screenshot_20230302-211158_Brave - Beta

15.12 Bring your clock back to the current month to 9th or later, and then relaunch the browser, and make sure you also don’t see anything then either.

Example Example
Screenshot_20230302-211148_Brave - Beta Screenshot_20230302-211158_Brave - Beta
16. Grandfathered-unverified payout banner status - PASSED

Follow up issue logged: #28001

Steps:

16.1 Create rewards profile on older version of Brave and view some ads. Then update to 1.48.x so that you’re in the grandfathered-unverified state.

Logs:

2023-02-04 21:44:41.650 23404-23404/? V/chromium: [VERBOSE1:redeem_unblinded_payment_tokens.cc(139)] OnRedeemUnblindedPaymentTokens
2023-02-04 21:44:41.650 23404-23404/? V/chromium: [VERBOSE6:redeem_unblinded_payment_tokens.cc(141)] URL Response:
      URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/payment/0e5afa79-ac66-5ab6-bf80-bb532aa59e45
      Response Status Code: 200
      Response: {"message":"Ok","status":200}

16.2 View couple of ads and confirm ads are cashed in with the server (verify Successfully redeemed unblinded payment tokens msg in logs)
16.3 Look for the last message similar to "You have X unblinded payment tokens which will be redeemed in (some hours, minutes, seconds) at (some time)" message, once this time has come, you should then see a response in the logs for "OnRedeemUnblindedPaymentTokens". If this is successful, you can proceed to next steps.

Logs:

[3515:259:0124/092259.269428:VERBOSE1:redeem_unblinded_payment_tokens.cc(139)] OnRedeemUnblindedPaymentTokens
[3515:259:0124/092259.269521:VERBOSE6:redeem_unblinded_payment_tokens.cc(141)] URL Response:
  URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/payment/f7f05c8a-b24c-58ec-bf8f-457ac75b6578
  Response Status Code: 200
  Response: {"message":"Ok","status":200}

16.4 Advance clock to the next month to the 2nd (or between 1st and 7th), and then relaunch the browser, to see if you see any “Payout will arrive in x days” banner”. You SHOULD SEE this banner.

Screenshot_20230302-214631_Brave - Beta

16.5 Advance your clock to the 8th or later and then relaunch the browser.
16.6 Ask someone on server team, or use Charles Proxy to set the payout status at the staging /parameters endpoint to “processing” for unverified users.
16.7 Make sure that the browser has picked up this new /parameters value.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
......
   [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-09 21:53:13.029 5096-5096/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 11169 s

16.8 Make sure the “processing” banner APPEARS in the Rewards panel, NTP widget, and brave://rewards page. - PASSED,

Screenshot_20230308-222751_Brave - Beta

16.9 Ask someone on server team, or use Charles Proxy to set the payout status at the staging /parameters endpoint to “complete” for unverified users.
16.10 Make sure that the browser has picked up this new /parameters value.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
[3896:259:0208/093501.525166:VERBOSE6:logging_util.cc(134)] 
.....
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-08 22:31:28.892 4844-4844/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 11168 s

16.11 Make sure the “complete” banner APPEARS in the Rewards panel, NTP widget, or brave://rewards page. - PASSED

Screenshot_20230308-224134_Brave - Beta

16.12 Bring your clock back to the current month to 9th or later, and then relaunch the browser, and make sure you don’t see the banners (because it’s the wrong month)

Screenshot_20230209-224244_Brave - Beta

17. Connected state payout banner status - PASSED

Steps:

17.1 Create a new Rewards profile then connect to a custodian (Uphold)
17.2 View couple of ads and confirm ads are cashed in with the server (verify Successfully redeemed unblinded payment tokens msg in logs)
17.3 Look for the last message similar to "You have X unblinded payment tokens which will be redeemed in (some hours, minutes, seconds) at (some time)" message, once this time has come, you should then see a response in the logs for "OnRedeemUnblindedPaymentTokens". If this is successful, you can proceed to next steps after closing the browser.

Logs:

2023-02-05 11:50:52.554 15156-15156/? V/chromium: [VERBOSE1:redeem_unblinded_payment_tokens.cc(139)] OnRedeemUnblindedPaymentTokens
2023-02-05 11:50:52.554 15156-15156/? V/chromium: [VERBOSE6:redeem_unblinded_payment_tokens.cc(141)] URL Response:
      URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/payment/d05da8d5-09d9-5374-b1d5-c87d8ddbaec0
      Response Status Code: 200
      Response: {"message":"Ok","status":200}

17.4 Advance clock to the next month to the 2nd (or between 1st and 7th), and then relaunch the browser, to see if you see any “Payout will arrive in x days” banner”. You SHOULD SEE this banner. Close browser.
Screenshot_20230302-214631_Brave - Beta

17.5 Advance your clock to the 8th or later and then relaunch the browser.
17.6 Ask someone on server team, or use Charles Proxy to set the payout status at the staging /parameters endpoint to “processing” for Uphold users/payout status.
17.7 Make sure that the browser has picked up this new /parameters value.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
     [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"processing"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-08 13:24:48.606 20310-20310/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 11097 s


17.8 Make sure the “processing” banner APPEARS in the Rewards panel, NTP widget, and brave://rewards page. - PASSED

Screenshot_20230308-222751_Brave - Beta

17.9 Ask someone on server team, or use Charles Proxy to set the payout status at the staging /parameters endpoint to “complete” for Uphold users/payout status.
17.10 Make sure that the browser has picked up this new /parameters value.

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-08 13:28:44.742 21073-21073/? V/chromium: [VERBOSE1:catalog.cc(128)] Catalog id fb2ae48a4daeb7c6e9afd8d8811da3d935d5028e is up to date

17.11 Make sure the “complete” banner APPEARS in the Rewards panel, NTP widget, or brave://rewards page. - PASSED

Screenshot_20230308-224134_Brave - Beta

17.12 Bring your clock back to the current month to 9th or later, and then relaunch the browser, and make sure you don’t see the banners (because it’s the wrong month)

Screenshot_20230209-224244_Brave - Beta

18. Connected state payout banner but no earnings - PASSED

Steps:

18.1 Clean profile 1.48.x and connect to custodian
18.2 View couple of ads but make sure to confirm ads are NOT cashed in with the server (should be no verify Successfully redeemed unblinded payment tokens msg in logs) - Did this by using Charles Proxy to simulate failed payment token fetch.

Logs (just a few to show how the failure worked):

2023-02-02 14:50:14.930 27818-27818/? V/chromium: [VERBOSE1:redeem_unblinded_token.cc(136)] OnFetchPaymentToken
2023-02-02 14:50:14.930 27818-27818/? V/chromium: [VERBOSE6:redeem_unblinded_token.cc(138)] URL Response:
      URL: https://anonymous.ads.bravesoftware.com/v3/confirmation/68749c82-c860-4a57-a17f-c4ac4aa5b2e0/paymentToken
      Response Status Code: 500
      Response: {"id":"68749c82-c860-4a57-a17f-c4ac4aa5b2e0","createdAt":"2023-02-02T09:18:52.040Z","type":"landed","modifiedAt":"2023-02-02T09:18:54.291Z","creativeInstanceId":"87173187-acb2-432b-a18d-a235f15f1c1c","paymentToken":{"publicKey":"9Am4emQYV2yhJTY4mO3nCACk83ntFR/dxlFDZzgnJjE=","batchProof":"nBixwxrzYwXPvaUd8Uq8XcWBAH/cR5Bi/iwk3MJylw+nv8b5u0FJJcjK8zis7HxB1mW/uJCLirLmyyBvlq8FAg==","signedTokens":["mLEmvVQiC4NpgVZDYnBiRKAnF+Ft2FXfWQF9Q5m19ic="]}}
2023-02-02 14:50:14.930 27818-27818/? V/chromium: [VERBOSE1:redeem_unblinded_token.cc(167)] Failed to fetch payment token
2023-02-02 14:50:14.930 27818-27818/? V/chromium: [VERBOSE1:redeem_unblinded_token.cc(382)] Failed to redeem unblinded token landed confirmation for ad_notification with transaction id 68749c82-c860-4a57-a17f-c4ac4aa5b2e0 and creative instance id 87173187-acb2-432b-a18d-a235f15f1c1c
2023-02-02 14:50:14.934 27818-27818/? V/chromium: [VERBOSE1:confirmations.cc(42)] Added landed confirmation for ad_notification with transaction id 68749c82-c860-4a57-a17f-c4ac4aa5b2e0 and creative instance id 87173187-acb2-432b-a18d-a235f15f1c1c to the confirmations queue
2023-02-02 14:50:14.938 27818-27818/? V/chromium: [VERBOSE1:refill_unblinded_tokens.cc(99)] No need to refill unblinded tokens as we already have 47 unblinded tokens which is above the minimum threshold of 20
2023-02-02 14:50:14.942 27818-27818/? V/chromium: [VERBOSE1:confirmations.cc(135)] Retry sending failed confirmations in 0 hours, 2 minutes, 4 seconds at 14:52:18.938

18.3 Set the API payout status to "Complete" through Charles or ask server team

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
........
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-02-10T00:00:00Z","vbatExpired":false}
2023-03-02 14:52:57.539 31605-31605/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 11009 s

18.4 Advance the system clock to the next month (sometime 1st to 7th) and relaunch the browser.
18.5 Countdown banner should NOT show.

Screenshot_20230302-145406_Brave - Beta

18.6 Move clock to 8th or later (only change the day, not the month – keep month as the one set in step 18.4) and relaunch the browser. Payout arrived (“complete”) message should NOT be shown to the user.

Screenshot_20230308-145508_Brave - Beta

@LaurenWags
Copy link
Member

LaurenWags commented Feb 1, 2023

Verified on Google Pixel 3 XL with Android 12 running 1.48.152.

21. Wallet State Transitions - PASSED

Verifying the following 3 Rewards state transitions:

  • Being not-connected → Being connected a custodian (i.e., kNotConnected ==> kConnected)
  • Being connected → Having an expired access token so that you’re in the “Logged out” state (i.e., kConnected ==> kLoggedOut)
  • Being in logged out state → Logging in again to be in the connected state (i.e., kLoggedOut ==> kConnected)
Uphold - PASSED
  1. Join Rewards (declare geo to be US)

  2. make sure:

    • ==> kNotConnected (uphold) appears in brave://rewards-internals / Event logs (by default we create an Uphold wallet in Preferences)
    • Rewards state: Not connected appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-125632 Screenshot_20230201-125641
  1. connect to a US Uphold account

  2. make sure:

    • kNotConnected ==> kConnected (uphold) appears in brave://rewards-internals / Event logs
    • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-131538 Screenshot_20230201-131553
  1. go to your Uphold account and expire the access token (i.e. remove the Brave Browser integration)

  2. make sure:

    • kConnected ==> kLoggedOut (uphold) appears in brave://rewards-internals / Event logs
    • Rewards state: Disconnected (Verified) appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-132152 Screenshot_20230201-132200
  1. reconnect to your Uphold account

  2. make sure:

    • kLoggedOut ==> kConnected (uphold) appears in brave://rewards-internals / Event logs
    • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-132927 Screenshot_20230201-132937
  1. change the Uphold GET /v0/me endpoint’s response with Charles proxy, so that currencies does not contain BAT
  2. wait ~15 minutes for toast notification to appear

Screenshot_20230201-140908

  1. make sure:
  • kConnected ==> kLoggedOut (uphold) appears in brave://rewards-internals / Event logs
  • Rewards state: Disconnected (Verified) appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-140919 Screenshot_20230201-140928
  1. Remove Charles Proxy rewrite rule and reconnect to your Uphold account
  2. make sure:
  • kNotConnected ==> kConnected (uphold) appears in brave://rewards-internals / Event logs
  • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-142539 Screenshot_20230201-142546
  1. change the GET /v0/me/capabilities endpoint’s response with Charles proxy, so that "enabled": false for either "key": "receives", or "key": "sends" (or both).

Here's the snippet I modified (note, this is not the entire snippet, just the part I changed. The whole body must be in your Charles Proxy rewrite):

  {
    "category": "permissions",
    "enabled": false,
    "key": "receives",
    "name": "Receives",
    "requirements": [],
    "restrictions": []
  },
  1. wait ~15 minutes for the toast notification to appear:

Screenshot_20230201-145027

  1. make sure:
  • kConnected ==> kLoggedOut (uphold) appears in brave://rewards-internals / Event logs
  • Rewards state: Disconnected (Verified) appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-145036 Screenshot_20230201-145045
Gemini - PASSED
  1. Join Rewards (declare geo to be US)

  2. make sure:

    • ==> kNotConnected (uphold) appears in brave://rewards-internals / Event logs (by default we create an Uphold wallet in Preferences)
    • Rewards state: Not connected appears in brave://rewards-internals / General info
Example Example
Screenshot_20230202-102640 Screenshot_20230202-102652
  1. connect to a US Gemini account

  2. make sure:

    • kNotConnected ==> kConnected (gemini) appears in brave://rewards-internals / Event logs
    • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230202-102735 Screenshot_20230202-102746
  1. go to your Gemini account and expire the access token (i.e. remove the Brave Browser integration)

  2. make sure:

    • kConnected ==> kLoggedOut (gemini) appears in brave://rewards-internals / Event logs
    • Rewards state: Disconnected (Verified) appears in brave://rewards-internals / General info
Example Example
Screenshot_20230202-105327 Screenshot_20230202-105337
  1. reconnect to your Gemini account

  2. make sure:

    • kLoggedOut ==> kConnected (gemini) appears in brave://rewards-internals / Event logs
    • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230202-105533 Screenshot_20230202-105551
bitFlyer - PASSED
  1. Join Rewards (declare geo to be Japan)

  2. make sure:

    • ==> kNotConnected (bitflyer) appears in brave://rewards-internals / Event logs
    • Rewards state: Not connected appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-155442 Screenshot_20230201-155450
  1. connect to a JP bitFlyer account (note time)

  2. make sure:

    • kNotConnected ==> kConnected (bitflyer) appears in brave://rewards-internals / Event logs
    • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-155918 Screenshot_20230201-155925
  1. Wait at least 7 minutes since step 3, then attempt to tip a bitFlyer verified creator

  2. make sure:

    • kConnected ==> kLoggedOut (bitflyer) appears in brave://rewards-internals / Event logs
    • Rewards state: Disconnected (Verified) appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-160905 Screenshot_20230201-160910
  1. reconnect to your bitFlyer account

  2. make sure:

    • kLoggedOut ==> kConnected (bitflyer) appears in brave://rewards-internals / Event logs
    • Rewards state: Verified appears in brave://rewards-internals / General info
Example Example
Screenshot_20230201-163515 Screenshot_20230201-163521
20. removes the ability to disconnect wallet - PASSED with follow up issue

Generally confirmed no "Disconnect from [custodian]" link available in the UI.
Also confirmed at various points in other test case verification done by @GeetaSarvadnya in #27055 (comment).

Note, #28097 was found and could allow a user to connect multiple custodians, so that is a follow up that should be addressed.

Uphold - PASSED
Example Example
Screenshot_20230202-095706 Screenshot_20230202-095714
Gemini - PASSED
Example Example
Screenshot_20230202-105613 Screenshot_20230202-105620
bitFlyer - PASSED
Example Example
Screenshot_20230201-160643 Screenshot_20230201-160654
19. confirmation token transition - TBD, see note

These tests will be completed by @btlechowski

@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Feb 2, 2023

Verification PASSED on Samsung Galaxy Tab A7 version 12 running Bravemonoarm64.apk_1.48.152

1. New user run through: Skip onboarding custodial connection - PASSED

Steps:
1.1 Create new profile, close and relaunch to pull griffin seed
1.2 Enable Rewards, declare a supported region on staging like the US, and go through onboarding. Verify that onboarding slides match designs. See #27901 (comment) for differences found between implementation and figma design doc.

Example Example Example Example Example Example Example Example Example Example
Screenshot_20230202-211351_Brave - Beta Screenshot_20230202-211422_Brave - Beta Screenshot_20230202-211441_Brave - Beta Screenshot_20230202-211502_Brave - Beta Screenshot_20230202-211517_Brave - Beta Screenshot_20230202-211526_Brave - Beta Screenshot_20230202-211534_Brave - Beta Screenshot_20230202-211543_Brave - Beta Screenshot_20230202-211616_Brave - Beta Screenshot_20230202-211628_Brave - Beta

1.3 Do not connect to the custodian at the end of onboarding
1.4 Check if non-connected state Rewards panel & NTP Widget appear as expected (no NTP widget in Android)

Panel initially Panel after visiting some sites
Screenshot_20230202-211655_Brave - Beta Screenshot_20230202-212528_Brave - Beta

1.5 Check brave://rewards settings page to see if it matches designs

Note - see #27619 for updated text for first paragraph, as figma does not match this.

1.6 Check brave://settings/rewards to see if it makes sense with non-connected state
NA for Android as there are no brave://settings/rewards settings in Android
1.7 Toggle Brave Private Ads ON/OFF and observe if ON/OFF state of Rewards panel corresponds, there is switch style/color mismatch hence logged #28129

Example Example
Screenshot_20230202-213312_Brave - Beta Uploading Screenshot_20230202-213318_Brave - Beta.jpg…

1.8 Toggle non-connected Rewards panel ON/OFF and observe if ON/OFF state of Brave Private Ads component in brave://rewards corresponds

Example Example
Screenshot_20230202-213323_Brave - Beta Screenshot_20230202-213330_Brave - Beta

1.9 Use an in-line tipping button to check the tipping banner, and ensure the tipping banner matches design spec for non-connected state users (i.e., is “locked”)

NA for Android - more info https://bravesoftware.slack.com/archives/CNH9Q6REV/p1675072159268739?thread_ts=1675061489.249839&cid=CNH9Q6REV

1.10 Navigate to a couple verified sites/channels and check the Rewards panel for count of them. (This is finicky and we have a follow-up issue to make this more reliable - see #27907)

Screenshot_20230202-212528_Brave - Beta

1.11 Connect to a custodian and verify that user is now in connected state with full Rewards experience

Example Example Example
Screenshot_20230202-214237_Brave - Beta Screenshot_20230202-214252_Brave - Beta Screenshot_20230202-214259_Brave - Beta

1.12 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example Example
Screenshot_20230202-214715_Brave - Beta Screenshot_20230202-214750_Brave - Beta Screenshot_20230202-214822_Brave - Beta Screenshot_20230202-214839_Brave - Beta Screenshot_20230202-214852_Brave - Beta Screenshot_20230202-214922_Brave - Beta Screenshot_20230304-215523_Brave - Beta

1.13 Try to trigger an Auto-Contribute

Example Example Example Example Example
Screenshot_20230202-215159_Brave - Beta Screenshot_20230304-215409_Brave - Beta Screenshot_20230304-215424_Brave - Beta Screenshot_20230304-215523_Brave - Beta Screenshot_20230304-221129_Brave - Beta

1.14 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230304-220101_Brave - Beta Screenshot_20230304-220117_Brave - Beta

1.15 After everything works, reset Brave Rewards [Need clarification not sure about the behavior]

1.16 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel looks normal. Don’t need to check anything else. [Need clarification not sure about the behavior]

2. New user run through: Connect to custodian during onboarding - PASSED

Steps:
2.1 Create new profile, relaunch to pull griffin seed
2.2 Enable Rewards, declare a supported region on staging like the US, and go through onboarding, and connect to custodian at the end of onboarding via the last onboarding slide. (Verify that onboarding slides match designs.)

Example Example Example Example Example Example Example Example Example Example
Screenshot_20230308-205221_Brave - Beta Screenshot_20230308-205235_Brave - Beta Screenshot_20230308-205247_Brave - Beta Screenshot_20230308-205258_Brave - Beta Screenshot_20230308-205308_Brave - Beta Screenshot_20230308-205321_Brave - Beta Screenshot_20230308-205330_Brave - Beta Screenshot_20230308-205746_Brave - Beta Screenshot_20230308-205754_Brave - Beta Screenshot_20230308-205816_Brave - Beta

2.3 User should now be in full connected state

Example Example
Screenshot_20230308-205932_Brave - Beta Screenshot_20230308-205942_Brave - Beta

2.4 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example
Screenshot_20230308-210023_Brave - Beta Screenshot_20230308-210033_Brave - Beta Screenshot_20230308-210044_Brave - Beta Screenshot_20230308-210057_Brave - Beta Screenshot_20230308-210107_Brave - Beta Screenshot_20230308-210130_Brave - Beta

2.5 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230308-210217_Brave - Beta Screenshot_20230308-210155_Brave - Beta
3. New user run through (JP): Skip onboarding custodial connection - PASSED

Steps:
3.1 Create new profile, relaunch to pull griffin seed
3.2 Enable Rewards, declare JP, and go through onboarding. Verify that onboarding slides match designs. In this case, there should NOT be a slide about Auto-Contribute since it is Japan.

Example Example Example Example Example Example Example Example Example
Screenshot_20230206-212428_Brave - Beta Screenshot_20230206-212432_Brave - Beta Screenshot_20230206-212447_Brave - Beta Screenshot_20230206-212500_Brave - Beta Screenshot_20230206-212523_Brave - Beta Screenshot_20230206-213018_Brave - Beta Screenshot_20230206-213028_Brave - Beta Screenshot_20230206-213037_Brave - Beta Screenshot_20230206-213046_Brave - Beta

3.3 Do not connect to the custodian at the end of onboarding
3.4 Check if non-connected state Rewards panel & NTP Widget appear as expected. Note, after visiting some sites, panel/widget don't display any messaging about supporting creators as in non-JP case. Per discussion via slack with Chris this is expected for now, and he has logged #27936 to determine how to handle this.

Panel Widget
Screenshot_20230206-214507_Brave - Beta Screenshot_20230206-214548_Brave - Beta

3.5 Check brave://rewards settings page to see if it matches designs

Screenshot_20230206-214453_Brave - Beta

3.6 Check brave://settings/rewards to see if it makes sense with non-connected state

NA

3.7 Toggle Brave Private Ads ON/OFF and observe if ON/OFF state of Rewards panel corresponds

Example Example
Screenshot_20230206-214741_Brave - Beta Screenshot_20230206-214730_Brave - Beta

3.8 Toggle non-connected Rewards panel ON/OFF and observe if ON/OFF state of Brave Private Ads component in brave://rewards corresponds

Example Example
Screenshot_20230206-214741_Brave - Beta Screenshot_20230206-214730_Brave - Beta

3.9 Use an in-line tipping button to check the tipping banner, and ensure the tipping banner matches design spec for non-connected state users (i.e., is “locked”)

NA

3.10 Navigate to a couple verified sites/channels and check the Rewards panel for count of them. (This is finicky and we have a follow-up issue to make this more reliable.) - does not work in JP region, see #27936
3.11 Connect to a custodian and verify that user is now in connected state with full Rewards experience

Example Example
Screenshot_20230206-215334_Brave - Beta Screenshot_20230206-215341_Brave - Beta

3.12 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example
Screenshot_20230206-215142_Brave - Beta Screenshot_20230206-215147_Brave - Beta Screenshot_20230206-215157_Brave - Beta Screenshot_20230206-215246_Brave - Beta Screenshot_20230206-215252_Brave - Beta Screenshot_20230206-215310_Brave - Beta

3.13 Go to brave://rewards page and make sure there is no Auto-Contribute section, since this is Japan.

Screenshot_20230206-215334_Brave - Beta

3.14 Go to brave://settings/rewards and make sure there is no Auto-Contribute section.

NA

3.15 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230206-215426_Brave - Beta Screenshot_20230206-215439_Brave - Beta
4. New user run through (JP): Connect to custodian during onboarding - PASSED

Steps:
4.1 Create new profile, relaunch to pull griffin seed
4.2 Enable Rewards, declare JP, and go through onboarding. Verify that onboarding slides match designs. In this case, there should NOT be a slide about Auto-Contribute since it is Japan.
4.3 Connect to a custodian at the end of onboarding slides. Only bitFlyer should appear as an option.

Example Example Example
Screenshot_20230206-221421_Brave - Beta Screenshot_20230206-221430_Brave - Beta Screenshot_20230206-221439_Brave - Beta

4.4 User should now be in the full connected state.
4.5 Check brave://rewards settings page to see if there’s Auto-Contribute. There should be no A-C since this is Japan.

Screenshot_20230206-221709_Brave - Beta

4.6 Check brave://settings/rewards for anything odd (e.g., check for presence of A-C)

NA

4.7 Try to make a tip to a website to check if tipping banner is now unlocked and that tips are working

Example Example Example Example Example Example
Screenshot_20230206-221759_Brave - Beta Screenshot_20230206-221814_Brave - Beta Screenshot_20230206-221826_Brave - Beta Screenshot_20230206-221843_Brave - Beta Screenshot_20230206-221855_Brave - Beta Screenshot_20230206-221913_Brave - Beta

4.8 Go to brave://rewards page and make sure there is no Auto-Contribute section, since this is Japan.

Screenshot_20230206-221930_Brave - Beta

4.9 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230206-221939_Brave - Beta Screenshot_20230206-221955_Brave - Beta
5. New user: Non-connected state (connect to custodian during onboarding cancellation) - PASSED

Steps:
5.1 Create new profile, relaunch to pull griffin seed
5.2 Enable Rewards, declare a supported region on staging like the US, and go through onboarding, and click to connect to custodian at the end of onboarding via the last onboarding slide. (Verify that onboarding slides match designs.)

Example Example Example
Screenshot_20230207-163144_Brave - Beta Screenshot_20230207-163158_Brave - Beta Screenshot_20230207-163209_Brave - Beta

5.3 Don’t complete connecting to custodian and cancel out
5.4 Check if user is in non-connected state

Screenshot_20230207-163248_Brave - Beta

6. New user: Non-connected state (no available custodian, then custodian becomes available) - PASSED

Note, slightly different than from test plan, using Charles Proxy to simulate this scenario.

Pre-req: Have Charles Proxy set up to simulate a country (such as GB) not being on the "allow" list for any custodian.

Steps:
6.1 Create new profile, relaunch to pull griffin seed.
6.2 Enable Rewards, declare the unsupported region in your Charles Proxy rule (US in my case) and go through onboarding, and verify there is NO slide at the end of onboarding telling the user to connect to a custodian.

Example Example
Screenshot_20230207-165545_Brave - Beta Screenshot_20230207-170137_Brave - Beta

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
........
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.296067,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CO","DK","FI","HK","IE","IT","NL","NO","PT","SG","ES","SE","US"],"block":[]},"uphold":{"allow":["AU","AT","BE","CO","DK","FI","HK","IE","IT","NL","NO","PT","SG","ES","SE","US"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]}}
2023-02-07 17:01:25.083 26455-26455/? V/chromium: [VERBOSE1:notification_ad_serving.cc(73)] Maybe serve notification ad in 0 hours, 2 minutes, 0 seconds at 17:03:25.059

6.3 Check if user is in no-custodian non-connected state (corresponds to row “Custodial services not available in your location” in Figma)

Example Example
Screenshot_20230207-170322_Brave - Beta Screenshot_20230207-170329_Brave - Beta

6.4 Update the Charles Proxy rule to enable US at /parameters for a custodian
6.5 Try to trigger/wait for new /parameters to be fetched by the browser

Logs:

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
..........
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.296067,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CO","DK","FI","HK","IE","IT","NL","NO","PT","SG","ES","SE","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CO","DK","FI","HK","IE","IT","NL","NO","PT","SG","ES","SE","GB"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","unverified":"complete","uphold":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]}}
2023-02-07 17:05:14.927 27538-27538/? V/chromium: [VERBOSE1:api_parameters.cc(90)] Params timer set for 10818 s

6.6 Once new /parameters fetched, check to see if user has evolved into the non-connected state with available custodians and matches spec (“Connect your account prompt” row in Figma)

Example Example Example
Screenshot_20230207-170556_Brave - Beta Screenshot_20230207-170548_Brave - Beta Screenshot_20230207-170626_Brave - Beta

6.7 Go and connect a custodian and check if it is successfully linked

Example Example Example Example
Screenshot_20230207-170759_Brave - Beta Screenshot_20230207-170805_Brave - Beta Screenshot_20230207-171108_Brave - Beta Screenshot_20230207-171116_Brave - Beta
9. Upgrade case run through: Verified state → connected state - PASSED

Steps:
9.1 In an older version of Brave, create a Rewards profile in staging in a non-JP region, and connect to a custodian.

Example Example
Screenshot_20230207-191254_Brave - Beta Screenshot_20230207-191307_Brave - Beta

9.2 Upgrade your browser to a version containing Rewards 2.5 Phase 3 changes.

Example Example
Screenshot_20230207-191357_Brave - Beta Screenshot_20230207-191404_Brave - Beta

9.3 Ensure that you remain in the connected state and that things are working properly (e.g., try a tip and an A-C)

Tip:

Example Example Example Example Example Example
Screenshot_20230207-191422_Brave - Beta Screenshot_20230207-191433_Brave - Beta Screenshot_20230207-191444_Brave - Beta Screenshot_20230207-191455_Brave - Beta Screenshot_20230207-191505_Brave - Beta Screenshot_20230408-192532_Brave - Beta

A-C:

Example Example Example Example
Screenshot_20230207-191455_Brave - Beta Screenshot_20230207-191505_Brave - Beta Screenshot_20230408-192450_Brave - Beta Screenshot_20230408-192532_Brave - Beta

9.4 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230408-192545_Brave - Beta Screenshot_20230408-192553_Brave - Beta

9.5 After everything works, reset Brave Rewards

NA

9.6 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state. After this point, you don’t need to check anything else.

NA

8. Upgrade case run through: unverified with vBAT → grandfathered-unverified state - PASSED

Steps:
8.1 In older version of Brave, create a Rewards profile in staging (ideally select a country with a supported custodian and that you have a matching account for, such as US)
8.2 Don’t accept UGP grant (just to avoid confusion)
8.3 Send yourself some ad grant (vBAT), and claim it

Example Example Example Example Example
Screenshot_20230207-194708_Brave - Beta Screenshot_20230207-194748_Brave - Beta Screenshot_20230207-194758_Brave - Beta Screenshot_20230207-194810_Brave - Beta Screenshot_20230207-194821_Brave - Beta

8.4 Upgrade Brave to version with Rewards 2.5 Phase 3.
8.5 Check if you’re in the grandfathered-unverified state and that your vBAT balance is still correct.

Example Example Example Example
Screenshot_20230207-194926_Brave - Beta Screenshot_20230207-194933_Brave - Beta Screenshot_20230207-194939_Brave - Beta Screenshot_20230207-194949_Brave - Beta

8.6 Send vBAT tip and make a vBAT A-C to check if it still works

Tip:

Example Example Example Example Example Example
Screenshot_20230207-195014_Brave - Beta Screenshot_20230207-195022_Brave - Beta Screenshot_20230207-195035_Brave - Beta Screenshot_20230207-195042_Brave - Beta Screenshot_20230207-195048_Brave - Beta Screenshot_20230207-195057_Brave - Beta

A-C:

Example Example Example Example Example
Screenshot_20230207-195108_Brave - Beta Screenshot_20230309-195221_Brave - Beta Screenshot_20230309-195229_Brave - Beta Screenshot_20230309-195238_Brave - Beta Screenshot_20230309-195250_Brave - Beta

8.7 Verify/connect a custodian
8.8 Confirm your vBAT was userdrained to custodial account

Logs:


  [ REQUEST ]
    > URL: https://api-sandbox.uphold.com/v0/me/cards/a93f3116-6bfb-46ae-aafe-a644ffa78437
    > Method: GET
2023-03-09 19:54:02.303 32459-32459/? V/chromium: [VERBOSE1:issuers.cc(74)] OnFetchIssuers
2023-03-09 19:54:02.304 32459-32459/? V/chromium: [VERBOSE6:issuers.cc(76)] URL Response:
      URL: https://static.ads.bravesoftware.com/v3/issuers/
      Response Status Code: 200
      Response: {"ping":7200000,"issuers":[{"name":"payments","publicKeys":[{"publicKey":"VrhkJG+iczm9H70Hf6ItuphlXqUal5gP7KnvCPkbsx8=","associatedValue":"0.3"},{"publicKey":"bMun+Hzn2woklUwPbv1KzzfCYxiN7CTSzmDedttKCHo=","associatedValue":"0.15"},{"publicKey":"QPHnfUzsN8c3jSjZ/sHWvrfSXe2et+p15f0iYFON9HE=","associatedValue":"0.10"},{"publicKey":"GPwPK908Pd5bgdZBY0FhE89FFg5bnOR6dpKJroLwny0=","associatedValue":"0.05"},{"publicKey":"+jeCSrAyjhhfy4GSXfXLDiG4EcVuAQ8tdR9fijTPGGQ=","associatedValue":"0.01"},{"publicKey":"ors1v/xNtTTFbAOEWjN9Pt2W1DL2TCEXBcBGnDK4m0w=","associatedValue":"0.25"},{"publicKey":"1gVuS5iKb2c1MIr4+nn9zlcok0S4XWy/U7xlGPZ3CyI=","associatedValue":"0.025"},{"publicKey":"NqfX1zRJVLZ42pD3lyBi6daeYZKO3lPJB6YXrmGUcUQ=","associatedValue":"0.20"},{"publicKey":"9Am4emQYV2yhJTY4mO3nCACk83ntFR/dxlFDZzgnJjE=","associatedValue":"0"}]},{"name":"confirmations","publicKeys":[{"publicKey":"JDBWY590tEpD7gWjENydNI3un3MzxJeHsfnrhp+esC4=","associatedValue":""}]}]}
2023-03-09 19:54:02.311 32459-32459/? V/chromium: [VERBOSE1:account.cc(342)] Updated issuers
2023-03-09 19:54:02.320 32459-32459/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
    [ RESPONSE - OnRequest ]
    > Url: https://api-sandbox.uphold.com/v0/me/cards/a93f3116-6bfb-46ae-aafe-a644ffa78437
    > Result: Success
    > HTTP Code: 200
    > Body: {"CreatedByApplicationId":"193a77cf-02e8-4e10-8127-8a1b5a8bfece","address":{"wire":"UH33480D32"},"available":"50.7625","balance":"50.7625","currency":"BAT","id":"a93f3116-6bfb-46ae-aafe-a644ffa78437","label":"Brave Browser","lastTransactionAt":"2023-02-07T13:53:24.851Z","settings":{"position":1,"protected":false,"starred":true},"normalized":[{"available":"11.94","balance":"11.94","currency":"GBP"}],"wire":[{"accountName":"Uphold Europe Limited","address":{"line1":"Tartu mnt 2","line2":"10145 Tallinn, Estonia"},"bic":"LHVBEE22","currency":"EUR","iban":"EE76 7700 7710 0159 0178","name":"AS LHV Pank"},{"accountName":"Uphold Europe Limited","accountNumber":"00000083","address":{"line1":"1 Angel Court","line2":"London, EC2R 7HJ"},"bic":"LHVBEE22","currency":"GBP","iban":"EE76 7700 7710 0159 0178","name":"AS LHV PANK UK BRANCH","sortCode":"040300"},{"accountName":"Uphold HQ, Inc.","accountNumber":"299007316","address":{"line1":"99 Park Avenue, Floor 4","line2":"New York, NY 10016"},"bic":"MCBEUS33","currency":"USD","name":"Metropolitan Commercial Bank","routingNumber":"026013356"}]}
2023-03-09 19:54:02.323 32459-32459/? V/chromium: [VERBOSE1:refill_unblinded_tokens.cc(113)] Refill unblinded tokens
2023-03-09 19:54:02.323 32459-32459/? V/chromium: [VERBOSE1:refill_unblinded_tokens.cc(123)] RequestSignedTokens
2023-03-09 19:54:02.324 32459-32459/? V/chromium: [VERBOSE2:refill_unblinded_tokens.cc(124)] POST /v3/confirmation/token/{paymentId}
2023-03-09 19:54:02.425 32459-32459/? V/chromium: [VERBOSE6:refill_unblinded_tokens.cc(134)] URL Request:
      URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/token/42e557ab-aa9d-560e-a0f9-bfbdaf5bdbb0
      Content: {"blindedTokens":["WP0Kw2aaW1IfwdeT6ZHR8EYriPzLMciSf+C3sclgjVM=","QCS0DFoPKVmedshWszj6jFcfNA4CdoAR93IC5d7irBA=","xOaQDUQJg+yiNq/PLsREPbH5asioTaXUmGGCBX+muXQ=","woe3RGowNa9HxcJog1phIhyVr5hJaXlbC0DteheR4x8=","aCjo85gdv9avIvuZgOs78ZwJmgQxpyWw74o6eJPgQ1g=","mMnDFrd2o5zbuN53/p/VvidgVGVhjEZAIQMLGd/x2zM=","JgRNICz/1zHY0S/v07M2sR2cCgMQDwyUQRAyWwDI5CQ=","nLGEXtaWXQVXN4pD81FctTg0VXAWAUbRdTGC7G3UKSc=","oNWH5xOxRu+DsVl6DFOMVnEdlkRs9wQEQZ0WckjRu2A=","/q4ofHYi+OZ3j0oo3AcdmqPpcymD1htNPQNwNvG6yVY=","DuRzZv+5+b3QIwMzMTMei5MkapCft19tk3M7kIUFDng=","hnyndHbM00JjwcM/8zjGYoThKBQyXQZE+NY9WUiyW1U=","BHo3xNBepJmd3Q2n1hjdX89P1AqzysdvnXTPj2+ZiBo=","Puhl/R0Xkr16PAxEmiNvpNJhOMuNk1DwgpZtkjQZ5F0=","9rVYhWX9KHPV7QsgLarBfWDKxUELrlxLQaifHcbQcQ4=","QlqwCHZmqJE9nUvrggZ8KCGRJ5uNyJR80axrkTqIrkE=","lrfyh23sUpwhkIxPQ3M99rdqdbMWVzh8a8WiaeN0kDM=","9pypfvmTPcJPqyVFvSEM2jjt9ZJLmy7zGJzx3vxjvwI=","gLRaV7wwI9ycPCTdMsc4oWKSwCEu+CxGefLDcM7/M3o=","tM5fk5C2IOpEsLGv4TTG4irOrAwGrswR/TUTTlRsy3E=","mHQKZ9+IDi+HKqA9QH1/yjPoLJb2RwVzsSDRbfL8ZHE=","wJMv4ANaK1a06s9wf71RJLsRp90xkZtjkZY6OnL97D4=","uCqsjYGlSr1KHV4n0hhFHSVWaSPT6CUEV1EA1wGRXlY=","NmIp9cMwPE2DCAVFjrakDdpUFX2oQNDFlxvHuCSEWVo=","4ormxUO1wN+/CRXZOQGjakaoFhHUnvMPM4RS8k93nGY=","fOItt1fAzHAcY2wnleRSmfc5nKNweb42yAvAXbA4ckA=","/Fbfm4V7felLQCPoWK4pHOEIcLo+FZ8op8ZQbvtM3GY=","ltQbXEqKLe1kR4gBxubUK8GgNwcW3B6EvsFCqZAGFWE=","mv1LZVKBc17cv2Fm5Q9HQ6uD55T7IiZ5DvBX5V1VJVU=","Bow6yWV+Rf1QRAQ3LR39uoGUN0EPUgvYU/4u9GI7JVk=","APxfLp3oX3nnT5TnJxXkSQtgSK932uhGMiOUB8uZiEk=","tCpAp5iwZlS9Y0HeMynlPocRdUkIwJS8z+KF6odsZAw=","IN6vJG+I00rJG096xNORp1mb4nUUnwdBqLMtINAe0Gg=","Rs5ExigZEHrxhxoQOydq+rzk0bmhWQ5qliu6dQxONUk=","gCneirIBF0fE6Evlc5sNVUD5anTqSDfIzplovBcC9Es=","tkR2obX315fovhmodEhU8vhfZgesIvqI9cJF6eo6+gs=","SlGKs8Q/gCZbMI2KatBhKembcqJ/l36cSJfKhKaED2I=","PPMyFy9UI5Ex8zdm5/72r7PmHvQLxPi3M563pwoU030=","SI3paYMFq1rcHrVytNGef+d0WFcnFHGHIU9iaXM313M=","cjlnUZNfV6rgfYLLC9ylUjKqKyq2OgTPXx/T7phGXW8=","mBl847dwBRjhHeAd0DNxJUgXDoILBCr1I3zYGjSnLW4=","9FEVnwMG2brKXBYCw19ACJ4iAz/WFQcz4n1v8mUaAwc=","pGvoy12CJpy3DBIxEem/Wswvs/MC/6SqnxvuTRBzTRM=","ZixFOpZEqCoCwawHxwVLVPF2oHlHwoqeC1CACVhHh2Q=","aGHFQmEMt9JtIryr7XfIbbdYYDqqgv+Q7H1r39OYVlo=","vt933GM6PRwAyXLSpZZcgS+4eP2Er9P4H0YtgizUukA=","voC5Y+HRq5SEpz12AjHhWX7Y7pd8ycD6DI8U1qEPxAE=","tEWSYFPkad6od9fVNdYEPyKT6/g7GphfXL1wCFyorCw=","iLUXrlO2T/m1vLw4DeBB992K15gxE5UAvP7navrxCk8=","dvWQQ2Pfwp76hiLhd+hcTo2eWhtDxfqhHcNX9TajRGc="]}
      Content Type: application/json
      Method: kPost
2023-03-09 19:54:02.430 32459-32459/? V/chromium: [VERBOSE1:issuers.cc(129)] Fetch issuers in 4 hours, 43 minutes, 50 seconds at 00:37:52.426
2023-03-09 19:54:02.537 32459-32459/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
    [ RESPONSE - OnRequest ]
    > Url: https://grant.rewards.bravesoftware.com/v2/suggestions/claim
    > Result: Success
    > HTTP Code: 200
    > Body: {"drainId":"de92489a-6f84-49ac-ad0c-35b30b182bee"}
2023-03-09 19:54:02.560 32459-32459/? V/chromium: [VERBOSE5:ledger_impl.cc(117)] 
    [ REQUEST ]
    > URL: https://api-sandbox.uphold.com/v0/me/cards/a93f3116-6bfb-46ae-aafe-a644ffa78437
    > Method: GET
2023-03-09 19:54:02.857 32459-32459/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
    [ RESPONSE - OnRequest ]
    > Url: https://grant.rewards.bravesoftware.com/v2/suggestions/claim
    > Result: Success
    > HTTP Code: 200
    > Body: {"drainId":"5d209075-546d-45ad-a758-8bb2dd98d74c"}
2023-03-09 19:54:02.981 32459-32459/? V/chromium: [VERBOSE6:logging_util.cc(134)] 
Example Example
Screenshot_20230309-195428_Brave - Beta Screenshot_20230309-195437_Brave - Beta

8.9 Make sure there’s no “Disconnect from {custodian}” button anymore in the custodian account submenu

Example Example
Screenshot_20230309-195628_Brave - Beta Screenshot_20230309-195638_Brave - Beta

8.10 Now that you’re verified/connected to a custodian, make a tip and see if it works

Example Example Example Example Example Example
Screenshot_20230309-195657_Brave - Beta Screenshot_20230309-195712_Brave - Beta Screenshot_20230309-195727_Brave - Beta Screenshot_20230309-195737_Brave - Beta Screenshot_20230309-195750_Brave - Beta Screenshot_20230309-195757_Brave - Beta

8.11 After everything works, reset Brave Rewards

NA

8.12 Check if Brave Rewards starts from the beginning again. Enable Brave Rewards and check if the Rewards panel is now the new non-connected state (not grandfathered-unverified). After this point, you don’t need to check anything else.

NA

@btlechowski
Copy link

Verification passed on Brave v1.48.151 on Lenovo TB-8506FS (Android 11.0)

Ads testing

Update unverified profile to 1.48.x

Verified unblinded tokens were refilled in 1.47.x:

00:33:03.418  V  [VERBOSE1:refill_unblinded_tokens.cc(200)] OnGetSignedTokens
00:33:03.419  V  [VERBOSE6:refill_unblinded_tokens.cc(202)] URL Response:
                   URL: https://mywallet.ads.bravesoftware.com/v2/confirmation/token/ff5a6822-468c-5c22-bcb0-7f6f91f6e405?nonce=83a4ce17-adb1-4422-aff7-a767e36cbdfe
                   Response Status Code: 200
                   Response: {"batchProof":"XuCmRkBp8EOGoLGGCHAGOUl6Jem9oyDLqsrNLu2yMAycts+gX607X/vtdn6rGtkGxHxbKnwbcuKDIdc+LpyhCQ==","signedTokens":["LpNVduea+nx6/s+q9Ux5FuJUVwxCi3CgDS3Mhz4tGB4=","Nhv+mI+vV+4MnMPBf3tCar9wbETRmixcocrRMrssPAs=","8ESv9vcJBmxPgG67aukoxyx/TxARnT5IHHW8u2DB9Bw=","iI5kvKr98DYxBhvoyIjnAnUAABRfRK6BPwam3YuE4CU=","siTPTr9FQ3n17B1CYQ2zT9vUd/vZNctWEBrh497OEBs=","CBc/ICp61QAfMPDtng+jWsh5s0vufnN+X7R4Y/An6Ss=","UAUqF7ej6ZpISJA5PMWhkZDQDcu1zjCKZvZneDWluzU=","ghoNFgLGe2aDfuFZOHtoDaqc3v3gnNMZ7yPA4vTY/X4=","KDerHcwCJJ91qaKV0s8hwfaslyngS15fV+olM2yfQig=","0PBTHDSUjqd5NN6bqvcfUWKEXKCm18vEJyW5QoaRm00=","JpX4MqA8qosSV3QRTTyjVUJuZh+nF+ueYuT4HM8qi0c=","wMxTJGxMB8lhvYQfRTUmgrs9N6YmH8mIEEfL5qdcoxA=","wI/X7lPczlLIgy46DCNT8zf1E2xyopbHRqi6XpVKJTk=","jha67yEqJrKoxfXusjqdOCsCTp0++kJDwQOzVknhgWE=","yGNRmFvPwtrNWKSPUCGgqbGMASdGnXfCRIjHyBNJsns=","lnM4087Gg2aQYeijr7ekH9ubMBf5eOjpIM4DneNMLls=","bI2moajZ1ZOTH2uoVQfz4lWzE5iCPLPmq+bAx2sihDA=","uJ/YTOnkgSbYqkIyBPFU5Rb40DqL9xpUrXBOxPUV2gI=","oApbRkCnlNyTqAcKc2GPJzQYJ2uk6GzjgEvqYXTntXs=","aivyEHP4oTBRYAR3kSMhz0Qnjl16WbnlHj64i+pCZ18=","rGwyw37eDtAX8m/WF7uRLE5yTQwl/r5EYaoDcJwAxSo=","2BHr8PK8YVtbtpINgVqfCYnr+8m5WCjAlgSdjl9pShA=","Tr0rEoyILIznY5BmdtnZ54MhwyvG3kvQviRkUBoajU4=","JMtm1rkkTc02IBk0lJ++2+FItb3tedhbvNJh7d7l2lQ=","pOUK50bWR4ReZFh1Xo+QvFUEKsihuXqUgXrkyS9u7hY=","fpMZSzjWf4n1bjEGYO4sl2SgtJTKbnCLyCLcCaYyJ3A=","6vFxkEl6F6dyTjwsXJWzlO/hBul/LaItGMV07PsfAno=","7lZcruXk2la06LYdunnp8N3VoLrViebGr2XUjGFQMgY=","gEw5Wb2WJHN/oAYvK/mR9jxYvJKce6aBfIq8f7PFano=","5o67tOCPvFGjDIgDxdmcycuCyBwg+iEwjLmxTTN+bjA=","wKEU3gOge6/uKC7W8cIDXI6cCSK9Hmd4ZUAWfijn8iQ=","UJwXXXuBBumpxoGja0gn6DhzxhtM8Mg6K10eM0aqqA8=","1hn9Z17VhLE+PpojAzH8McwA4PS7RdU7py3YPtfXS2o=","8Dsy0PBHgK1L5NU1ZOOjRsSCFyR+CIKn6mOfSeSBuWk=","JmZPEllmgXRbnFnPjkChe+4iW6RknpirFsSg6bUaCy0=","GjOQask7UZTSARIdzYd8S0SLajNpQVZcmHkmMiAPzEc=","NIYIzPt7m+41NdvdW5HLtFIvTALMOIJor9nKnExkJg4=","EvIwNUscR0/Oe0pAvjJZpzNIRPlqUsABC5ONXnnqYCo=","pnbKaHWB4jRHGbmb+Oh1Q2zgoMsMchMKvf9n4d4V9Bg=","uPMoxd6yfm7E/oyVyPns4wzXvDrKWed8DeeFm5f9nnU=","2C8SPVvWAPI6JTQ+JgNlhMVk37u9urNhrIuPsXGiczM=","DhGMpLyoc3JYLQ64ia9/6HRwyW4r7ucMVp3Ea/MtelI=","uCtcLURZ19/mDQwYJ+hFSiXkKFNY/ZvRaGu53XN6FGs=","QNR++fnmDPUWgq9zmuAVCG2pRu0h9QBULEUfR59HBWk=","djy7wA6fwWqaCIdKTpgykShtPdQ38Y2ZXpYU32uuCHo=","Cqja1PHbJXH9yy7BhewZsZluZB3ene1BC6lgl5Owvws=","Dkt6S/6q+448TzHlNojcBGP8I2GOqVPJi5HTT15q0wo=","jryLmhy8wz4XwzOtgS3s1RBMhNtvISjKDsI8i1kPLnk=","fM9G0dLeVWQNKD9TzJP99WwSLd6/gKTjRRyp3zuN6TM=","5Nkzj3pRwirmnYbduhBu4w3uLjA7LsaXaY//aBpPhD8="],"publicKey":"JDBWY590tEpD7gWjENydNI3un3MzxJeHsfnrhp+esC4="}
00:33:03.542  V  [VERBOSE1:refill_unblinded_tokens.cc(343)] Added 50 unblinded tokens, you now have 50 unblinded tokens
00:33:03.542  V  [VERBOSE1:refill_unblinded_tokens.cc(349)] Successfully refilled unblinded tokens

Verified ad was shown in 1.47.x

00:34:59.449  V  [VERBOSE1:eligible_notification_ads_v1.cc(38)] Get eligible notification ads:
00:34:59.453  V  [VERBOSE1:eligible_notification_ads_v1.cc(196)] Get eligible ads for untargeted segment
00:34:59.491  V  [VERBOSE2:priority.h(35)] 11 ads with a priority of 1 in bucket 1
00:34:59.491  V  [VERBOSE1:eligible_notification_ads_v1.cc(229)] 11 eligible ads out of 11 ads for untargeted segment
00:34:59.491  V  [VERBOSE1:notification_ad.cc(135)] Opportunity arose to serve a notification ad
00:34:59.492  V  [VERBOSE1:notification_ad_serving.cc(131)] Found 11 eligible ads
00:34:59.492  V  [VERBOSE1:notification_ad_serving.cc(196)] Served notification ad:
                   placementId: a94fe702-ad73-488b-9728-d61353843483
                   creativeInstanceId: 2db34507-c654-4302-92ee-7fba4a8bc1fe
                   creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b
                   campaignId: 1c1ac828-db13-49bb-9128-090132044b7f
                   advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8
                   segment: untargeted
                   title: Ad9
                   body: Ad9
                   targetUrl: https://brave.com/
00:34:59.519  V  [VERBOSE3:notification_ad_event_served.cc(19)] Served notification ad with placement id a94fe702-ad73-488b-9728-d61353843483 and creative instance id 2db34507-c654-4302-92ee-7fba4a8bc1fe
00:34:59.557  V  [VERBOSE1:notification_ad_serving.cc(158)] Maybe serve notification ad in 0 godzin, 12 minut i 0 sekund at 00:46:59,520
00:34:59.558  V  [VERBOSE3:notification_ad_event_viewed.cc(19)] Viewed notification ad with placement id a94fe702-ad73-488b-9728-d61353843483 and creative instance id 2db34507-c654-4302-92ee-7fba4a8bc1fe
00:34:59.559  V  [VERBOSE1:notification_ad_event_served.cc(28)] Successfully logged notification ad served event
00:34:59.570  V  [VERBOSE6:notification_ad_event_viewed.cc(28)] Successfully logged notification ad viewed event

Verified user was paid for the ad 1.47.x

00:35:09.550  V  [VERBOSE1:redeem_unblinded_token.cc(367)] Successfully redeemed unblinded token view confirmation for ad_notification with transaction id ab88bf97-c8ff-40d8-8c9a-a43598728546 and creative instance id 2db34507-c654-4302-92ee-7fba4a8bc1fe
00:35:09.559  V  [VERBOSE1:confirmations.cc(222)] You have 1 unblinded payment tokens which will be redeemed on

Tokens were not refilled after update to 1.48.x:

00:48:39.025  V  [VERBOSE1:refill_unblinded_tokens.cc(99)] No need to refill unblinded tokens as we already have 49 unblinded tokens which is above the minimum threshold of 20

Verified tokens were refilled after connecting to uphold:

00:51:39.738  V  [VERBOSE1:refill_unblinded_tokens.cc(343)] Added 50 unblinded tokens, you now have 50 unblinded tokens
00:51:39.738  V  [VERBOSE1:refill_unblinded_tokens.cc(349)] Successfully refilled unblinded tokens

Verified ad was shown after connecting:

00:52:42.123  V  [VERBOSE1:notification_ad_event_served.cc(28)] Successfully logged notification ad served event
00:52:42.133  V  [VERBOSE6:notification_ad_event_viewed.cc(28)] Successfully logged notification ad viewed event

Verified user was paid for the ad:

00:52:48.821  V  [VERBOSE1:redeem_unblinded_token.cc(367)] Successfully redeemed unblinded token view confirmation for ad_notification with transaction id daca97da-7a27-4032-b114-d77d6f6fc392 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
00:52:48.825  V  [VERBOSE1:confirmations.cc(222)] You have 1 unblinded payment tokens which will be redeemed

Update verified profile to 1.48.x

Verified unblinded tokens were refilled in 1.47.x:

01:18:52.024  V  [VERBOSE1:refill_unblinded_tokens.cc(343)] Added 50 unblinded tokens, you now have 50 unblinded tokens
01:18:52.025  V  [VERBOSE1:refill_unblinded_tokens.cc(349)] Successfully refilled unblinded tokens

Verified ad was shown in 1.47.x

01:20:47.480  V  [VERBOSE1:eligible_notification_ads_v1.cc(38)] Get eligible notification ads:
01:20:47.490  V  [VERBOSE1:eligible_notification_ads_v1.cc(196)] Get eligible ads for untargeted segment
01:20:47.516  V  [VERBOSE2:priority.h(35)] 11 ads with a priority of 1 in bucket 1
01:20:47.517  V  [VERBOSE1:eligible_notification_ads_v1.cc(229)] 11 eligible ads out of 11 ads for untargeted segment
01:20:47.518  V  [VERBOSE1:notification_ad.cc(135)] Opportunity arose to serve a notification ad
01:20:47.518  V  [VERBOSE1:notification_ad_serving.cc(131)] Found 11 eligible ads
01:20:47.519  V  [VERBOSE1:notification_ad_serving.cc(196)] Served notification ad:
                   placementId: 02705efd-9aa7-43c0-ad7d-a5ea09091cdb
                   creativeInstanceId: 4cda5cb7-c4f8-4cbc-8898-58de12ece304
                   creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b
                   campaignId: 1c1ac828-db13-49bb-9128-090132044b7f
                   advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8
                   segment: untargeted
                   title: Ad5
                   body: Ad5
                   targetUrl: https://brave.com/
01:20:47.553  V  [VERBOSE3:notification_ad_event_served.cc(19)] Served notification ad with placement id 02705efd-9aa7-43c0-ad7d-a5ea09091cdb and creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304
01:20:47.598  V  [VERBOSE1:notification_ad_serving.cc(158)] Maybe serve notification ad in 0 godzin, 12 minut i 0 sekund at 01:32:47,555
01:20:47.599  V  [VERBOSE3:notification_ad_event_viewed.cc(19)] Viewed notification ad with placement id 02705efd-9aa7-43c0-ad7d-a5ea09091cdb and creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304
01:20:47.600  V  [VERBOSE1:notification_ad_event_served.cc(28)] Successfully logged notification ad served event
01:20:47.612  V  [VERBOSE6:notification_ad_event_viewed.cc(28)] Successfully logged notification ad viewed event

Verified user was paid for the ad 1.47.x

01:20:55.417  V  [VERBOSE1:redeem_unblinded_token.cc(367)] Successfully redeemed unblinded token view confirmation for ad_notification with transaction id 2abad418-f785-481a-a9fc-b0f49af12987 and creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304
01:20:55.426  V  [VERBOSE1:confirmations.cc(222)] You have 1 unblinded payment tokens which will be redeemed in

Verified tokens were refilled after update to 1.48.x:

01:24:31.534  V  [VERBOSE1:refill_unblinded_tokens.cc(343)] Added 50 unblinded tokens, you now have 50 unblinded tokens
01:24:31.535  V  [VERBOSE1:refill_unblinded_tokens.cc(349)] Successfully refilled unblinded tokens

Verified ad was shown after connecting:

01:31:18.349  V  [VERBOSE1:eligible_notification_ads_v1.cc(38)] Get eligible notification ads:
01:31:18.356  V  [VERBOSE1:eligible_notification_ads_v1.cc(196)] Get eligible ads for untargeted segment
01:31:18.369  V  [VERBOSE2:exclusion_rules_base.cc(115)] creativeSetId 45ea5952-37ca-41f0-88c2-4b546b0e6f4b has exceeded the perDay frequency cap
01:31:18.373  V  [VERBOSE2:priority.h(35)] 1 ads with a priority of 1 in bucket 1
01:31:18.374  V  [VERBOSE1:eligible_notification_ads_v1.cc(229)] 1 eligible ads out of 11 ads for untargeted segment
01:31:18.375  V  [VERBOSE1:notification_ad.cc(135)] Opportunity arose to serve a notification ad
01:31:18.376  V  [VERBOSE1:notification_ad_serving.cc(131)] Found 1 eligible ads
01:31:18.377  V  [VERBOSE1:notification_ad_serving.cc(196)] Served notification ad:
                   placementId: 196b39d0-7fc5-4c82-84fd-a3565b9b0a49
                   creativeInstanceId: 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
                   creativeSetId: 5f8c4787-8431-49a5-9d09-bba40f8ad5f4
                   campaignId: d1e25388-b362-4f30-bd4b-36b8205e59e5
                   advertiserId: a34de75d-5654-4331-8713-8f4d4e2b6bf7
                   segment: untargeted
                   title: Vivamus sagittis lacus vel aug
                   body: Duis mollis, est non commodo luctus, nisi erat porttitor lig
                   targetUrl: https://www.apple.com/
01:31:18.413  V  [VERBOSE3:notification_ad_event_served.cc(19)] Served notification ad with placement id 196b39d0-7fc5-4c82-84fd-a3565b9b0a49 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
01:31:18.473  V  [VERBOSE1:notification_ad_serving.cc(158)] Maybe serve notification ad in 0 godzin, 6 minut i 0 sekund at 01:37:18,415
01:31:18.474  V  [VERBOSE3:notification_ad_event_viewed.cc(19)] Viewed notification ad with placement id 196b39d0-7fc5-4c82-84fd-a3565b9b0a49 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
01:31:18.474  V  [VERBOSE1:notification_ad_event_served.cc(28)] Successfully logged notification ad served event
01:31:18.485  V  [VERBOSE6:notification_ad_event_viewed.cc(28)] Successfully logged notification ad viewed event

Verified user was paid for the ad:

01:32:19.452  V  [VERBOSE1:redeem_unblinded_token.cc(367)] Successfully redeemed unblinded token view confirmation for ad_notification with transaction id d4656443-f908-44c1-88cc-d6f691251c59 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
01:32:19.459  V  [VERBOSE1:confirmations.cc(222)] You have 1 unblinded payment tokens which will be redeemed

Clean profile 1.48.x

Verified unblinded tokens were refilled in 1.48.x when not connected:

23:59:52.107  V  [VERBOSE1:refill_unblinded_tokens.cc(200)] OnGetSignedTokens
23:59:52.108  V  [VERBOSE6:refill_unblinded_tokens.cc(202)] URL Response:
                   URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/token/31c0c0b4-5dbc-5ccc-be0d-a4f520c0c9c7?nonce=7d1bafcc-68f6-43ee-a323-d4b06e2762d5
                   Response Status Code: 200
                   Response: {"batchProof":"0IOyKpJry6U6gnw3xs9KfcG1wlFpms0ygm7w6PzFUAgddhk3oQdZqYBn2R3uQvss89VyHmxD7LAxJnJQghVsDg==","signedTokens":["gpS4JEWkQz2dcYMWn4jbaM/jk6xojHcrF3PsVmcRui4=","4uh427UqNaWypP6ZyE2spf6tnX0JortnuEyqSwetGlY=","XAV7s/5Qcg0Do5gRifnQfcc/HnCuMr3tuLm0UnZyjCU=","SJDsoqUJAW01cIX2KMgdNf6lCNOpqpzgfdtw+wn3lCQ=","AOMJ8R7wlzMjhangFcFhFVHRKUfV/4xdSbGJnJzHDHg=","7i3fzfULeDE9g9UM25VrT0Q9Iax+2effXXfLt4ML+CE=","KuFf61wQpeukYAwOOZdgpT9988PvzNhwVQdT+V5k3WY=","7JzzbfJFK27BoUa1PxTAiqIuYp19Irq8Gi67rChCSSE=","SlNX6YbiMfz0ISMreFZ/l8rUz7IKN1NZs/RGglfJi1E=","iI6rFKY2CMUqR01lCnPIrsWZBi+fbYgzNK6Bn8cvjRI=","dFwfTCr7yPyy4tAg2fdLQd4p4L3AMgFlQypRjwVzOlc=","MBLJh0tMs7S6NQW59n2oWz4dPiXZXxSZNriTY+Bxkz4=","RjqMXlDnxiZ6bEwaShpevzWpM8hw4adfCoj6nChFVlY=","fHqZwpHrs5FdLvlJPuP7ecvFtALgHKPql3L7KOVs5DU=","JAVO6OIQdAy0yoGoaQf7kX9yT8KtTAbEU6Mccr/Veyk=","VD3U4v9NM/ZaI9W4DwwSofxtZ8I0MQBF2WPSIHCizjM=","lqdmnY/6ySSyReNqL4su7yMviKAiCkuW3s4ZGmYamyE=","SA4SkBxVGWr1AbO0O2YZ0NJk49TPWTyzNsDVxRPzLmY=","dhwlBKapNU9pxgTUa4eacyvaHvJWN9lGoY76tkP5wxM=","yjMdJe5xtCYRZGafVdK19Zoeidyr4r5NyDnzKyxyuxo=","LFUkGRKUwvlwc5j7kbkUELB+AggZxA7j3SBfrDZimws=","jk/AdyKrIZho/4KBNmublfLNhdeg7cUJU63AWdoDJkQ=","iPzBnQJyj9wwzAlsgsQpiCzfzvq3Z5az0aH7nwfApEs=","rvNShys8V0G3I/Hg0iBjQcwNSFEHwNAcW9KCuBBdQDU=","VB/oaZocN73E54XxG/MyyAAXbP3Xx89U6ZpceGV45Cg=","xpKi6K3HndpUxtkp267dzDfCCGUM8430j/qNGDdqvUM=","0kNMAga1BjyEVpLHkCPKC7b7dVLaaqUtMw2TSgSDgW0=","dLDVhGxNejaJfM3dVHKbfqaJjBJcjg+Oq0t9ju3WaUA=","wlUAfyLQIBlp7pZ29yVZCz9KB/bZKkpACq92a400YDE=","cLRegqBZTsoG1DMC2Rj6VLrWbYkmTzsuDKTCtKDfsT8=","dkb1uXpwizA2CQDfPRfaWuyhP/XhJr/zh1j6zoSuKQQ=","hrpjw9VsKDuiyxo6hAF/FQ8/vPqdqKrVUCrKXScfjzk=","SkR7qNL6x0W/AWzD/KDfpUNWoe3OOu+bumg4QBrvgWQ=","+KcvQa/WA1bhhZMPdmjogjpfDCtD0F1iEC2BnT5nLw0=","vvmevcXN36TjgMzlofepNaXjOutH6qHqW3AxsE5cmlc=","3J2EjPIOuyx/CA0oe4fnKX2OfdeGZLqEhRQbcX0BswM=","eqL1tadvRw+BsVTkkuBptoKeJbFv+3ib7J9vU8VRP1g=","gOPowaC0684yvFVD2hFuTyAVR0OLLcTxjcEfTdCkQwI=","zqUn+H6Qa05d6+D4zN47vDPAe7w+a+zSYOam0k/iBjg=","gHfpsyy8M/A/NU+bDjeFirU0K4DPJ05Ei17p60JqqhU=","fECAvB2HGxGiNnjetJ3yjvnw3fQi6yMh/z2WjK+MZlg=","PCmPxusz1v5ZXMQsu8u3lOg7cGa3KXKadk75kjLnoAY=","KF3pVcL2ouYjoSNLEHF61TrpLICNJY3adoO4ZnKBJVY=","fioXXxxK+Fn+/wsikE8cuY6Fn+SRYW9mGdvB6qO1x2Y=","8PrqRKZKePlPUH2mYqZGJNyb7wdcI19qDapitwgZWUM=","wp2QvcPQ3T+x4WG1vaB+T2tjzQSFPNolujO2ZratMxA=","1FSairMDiepl5/5TrNwIANOUfmq0X747M059XzQLMDQ=","nIlaCeiTuLihpd0+bOsPxz5mLtUTYHd2pYh/bDQ3sDc=","RjtKtd5Wcl8pKJfUhE1gzeYtIJ11Egb8XCZxve4ETis=","0h+/Xi0D/uLsVL83wXJpNhV+FKjtjLw8QatejwpLiX8="],"publicKey":"JDBWY590tEpD7gWjENydNI3un3MzxJeHsfnrhp+esC4="}
23:59:52.198  V  [VERBOSE1:refill_unblinded_tokens.cc(343)] Added 50 unblinded tokens, you now have 50 unblinded tokens
23:59:52.199  V  [VERBOSE1:refill_unblinded_tokens.cc(349)] Successfully refilled unblinded tokens

Verified ad was shown when not connected


00:01:22.863  V  [VERBOSE1:eligible_notification_ads_v1.cc(38)] Get eligible notification ads:
00:01:22.870  V  [VERBOSE1:eligible_notification_ads_v1.cc(196)] Get eligible ads for untargeted segment
00:01:22.898  V  [VERBOSE2:priority.h(35)] 11 ads with a priority of 1 in bucket 1
00:01:22.898  V  [VERBOSE1:eligible_notification_ads_v1.cc(229)] 11 eligible ads out of 11 ads for untargeted segment
00:01:22.899  V  [VERBOSE1:notification_ad.cc(135)] Opportunity arose to serve a notification ad
00:01:22.899  V  [VERBOSE1:notification_ad_serving.cc(131)] Found 11 eligible ads
00:01:22.900  V  [VERBOSE1:notification_ad_serving.cc(196)] Served notification ad:
                   placementId: 37781c53-df2d-44fb-b7ea-07a8684a6ac2
                   creativeInstanceId: c1e56640-0a4b-4196-ad44-7221ca29f4cd
                   creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b
                   campaignId: 1c1ac828-db13-49bb-9128-090132044b7f
                   advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8
                   segment: untargeted
                   title: Ad3
                   body: Ad3
                   targetUrl: https://brave.com/
00:01:22.936  V  [VERBOSE3:notification_ad_event_served.cc(19)] Served notification ad with placement id 37781c53-df2d-44fb-b7ea-07a8684a6ac2 and creative instance id c1e56640-0a4b-4196-ad44-7221ca29f4cd
00:01:22.991  V  [VERBOSE1:notification_ad_serving.cc(158)] Maybe serve notification ad in 0 godzin, 12 minut i 0 sekund at 00:13:22,937
00:01:22.991  V  [VERBOSE3:notification_ad_event_viewed.cc(19)] Viewed notification ad with placement id 37781c53-df2d-44fb-b7ea-07a8684a6ac2 and creative instance id c1e56640-0a4b-4196-ad44-7221ca29f4cd
00:01:22.991  V  [VERBOSE1:notification_ad_event_served.cc(28)] Successfully logged notification ad served event
00:01:23.006  V  [VERBOSE6:notification_ad_event_viewed.cc(28)] Successfully logged notification ad viewed event

Verified user was paid for the ad

00:01:35.887  V  [VERBOSE1:redeem_unblinded_token.cc(367)] Successfully redeemed unblinded token view confirmation for ad_notification with transaction id 9f1dd549-bb87-4aa0-acab-1b3d3a8fedd5 and creative instance id c1e56640-0a4b-4196-ad44-7221ca29f4cd
00:01:35.893  V  [VERBOSE1:confirmations.cc(222)] You have 1 unblinded payment tokens which will be redeemed on 

Verified tokens were refilled after connecting to uphold:

00:09:24.192  V  [VERBOSE1:refill_unblinded_tokens.cc(200)] OnGetSignedTokens
00:09:24.194  V  [VERBOSE6:refill_unblinded_tokens.cc(202)] URL Response:
                   URL: https://mywallet.ads.bravesoftware.com/v3/confirmation/token/31c0c0b4-5dbc-5ccc-be0d-a4f520c0c9c7?nonce=f0845688-5925-4311-bb42-619243fd27e2
                   Response Status Code: 200
                   Response: {"batchProof":"tntAlj64o9ftqcyGIMYta/hVKjGsQWvCHHAmuAy9SAXiDP3hf+kOzXvVxoZDxugWcsKFH4X4VRXZj6FVrKWkAA==","signedTokens":["alXTb3goY4RV4+DMJ/8R82wOESLKOsVbETyY0bTFYms=","sIP/p+v0wTzbzykTMIRKvv30k4CE1RKxa35ksEpcThw=","3kvGlF16N4NhUvoq0eJN0qvw2oiwTvuHJFH+BDgo0xo=","ypVnXzEWcthxx6z6qWQU02twQuSq/OrQJjguMOdaFk8=","KutnRSK45Wrm7GO++CPzZh/jlSqaB/b3zLOA5gvsA0Q=","NMeKhy8yy0PFv8tKnzPVUDJHs+VMsfMh+rmRXNcpjVk=","HnRtXJsnimfDOd/NUbU/WeZZisvPil8bNDknLitYGUY=","XM/Uqt/PsJ1ehkv3aHnfgVzm2HU4FwtiXLTvnQ8jkWI=","tLreA6esGObOElrufEcn50L7vDOPAqgJfFMQyTwGfRg=","lHO30dTcc5Se7uOiiOPMNvZuvQ1YKCb9sFy1HM+KbhE=","2N6wn7x0+vzgXbvVxDKMu2/MIl6fjlqzlR/f8DBG+U4=","3EFO8xumOYsqpxYcJSM6EvuHAhXSh7v0jCFTsJ43aVY=","xMK9XcowNmPsD/arFE/O/jAVhXRFXi1u5porcGPDzlw=","RNQEz1OqQZYD+dgwgzPsEJgqAK6yt7zbA1KYY1d4WxU=","pjgR6hUQkJpOPWgsY0V1LTvaZzIyf7SxrU9c9ducEz0=","EHBCyHaFEfeH2+UqLI3geBo1VywZMMseb+IpnHRoHCc=","1G+TOHR0OIvpL62xdDiLZo3qndZq0vOv0i/4wCnX7UQ=","KG2DrsClk9gkoU3GxniGhnPPPZXbTmichWApbBoGMQg=","NEWEKgDb8qVS6cjZN1zbXYbrsjMkgmMwfZ0fa/+Nflo=","QJWrnoNwS/kDnEUPOPkcJA33MM+nXNht9M+kqQQB4Cw=","1r77/V8fw7VAP6XhT6NAVeEjVqMgtYX4jfoHu9B/v1s=","vC1KQloheHAVitGYOfBqlOyB55i0pf/q6iuVDF22WjY=","nnTDo8UIoZKWV3MsBZGlq0TsJZKtKvb4U7Vj7QMlfhk=","TOW9hm/oIgF3/Ik72YsABrSQExLZ4/HdanU3FWyqHRc=","zhZcTSINfv003DbBPbPOmyIdR2W1SDT3r8DaBzOkcUk=","MJGFRqyN1ipN0MjyhfbrOhdaPHauyg/uL2moWg1d2y8=","3JaKlYRvQBCwjZiNKMKrpSFHfLDe7oHKcWFpplaetkw=","RtPPWKzwUWiZHspnTwz/u9t9apbKGrXzQoxbWZxKZRs=","hqQ02qVDXIQnQFa/b7G4LlMzcjljgOOATZkgZVZqTC8=","IDieNILj0RVjHuHGOBqK+gUHt1wMtbYK9NcN+DKvq3Y=","arBsfj5pMam1Wl2kauTnCMSf86lOip+j1KlRaOvMUjs=","ClbZVG1b0TMi/PPlQ1EWlvtQ/7E2gRjD1xtS32Ol7Dg=","5oIbnTjkmcTHmhRnJyYs6TGCb7LxyBA9nnde/apl+l8=","Um/rcoH7PlQMTyRBk1eQEtSZ/x45vCy9JPUw6WtCYkU=","PhL1B20vzoAOybc7uBqiXBR5Fy/QJhW99odP51WYbX0=","Rvn0rc2DEgTgEeFsaBk1ylEaf1Ehdopw2lDCvZdGKXM=","XJazcQc6fyKpxF+v6cv3GXFIZrkADy2dCCHcF0zWSw0=","Es/PmRBIVgtX0Z/8iXEGcYlZbi26JjdgcKkk3Mo3PnU=","2g123sZO9wDgfyYSTSfwBHpt9PIiQPLPA2wmWP2bLgk=","lCdsrBkOOZK7g9Z7WIAZ2coGFgD/GNrabwqN5Xc7mwE=","ereoh74SmCJiW1d49Tes/I5DX8kgKrz73TGZDxl/kik=","5JrhGtWQI1sBp4HglulVlQ1XQmTFdP4sTZeOBOo0PWU=","eG7S8E9aIwdhgxIpt44fIJlGVlXjRklT/u8uL5/Myzo=","emY1QjxiLpU6v8QDbTvvF6/U1OuyaN3D8JfGUaC15BE=","dCbKAb4fkhsNDv7esg/WAnpfdKoD7T1plMNe8IlQIDg=","QnwhhcjbG/r2yNPB5Fk9x8/1fj3dpD2X5BFYl8pHgCA=","/LA2Jj/PEOPi9ysJK+JXUYx+j/mp5wO5sIHIWfRhgEc=","MDGAY1nuukq0i16KLv8ECoLFGY7b+km+34XKiiDbGj4=","Pmb2vs/NSUVRnPclw50+riTmJg1D+twf5+iwwcGYWlQ=","em9Qg7UpyNuvtdEDe7qpi0xrdTJzh0qYeGAUhkmwkAE="],"publicKey":"JDBWY590tEpD7gWjENydNI3un3MzxJeHsfnrhp+esC4="}
00:09:24.283  V  [VERBOSE1:refill_unblinded_tokens.cc(343)] Added 50 unblinded tokens, you now have 50 unblinded tokens
00:09:24.284  V  [VERBOSE1:refill_unblinded_tokens.cc(349)] Successfully refilled unblinded tokens

Verified ad was shown after connecting:

00:17:15.226  V  [VERBOSE1:eligible_notification_ads_v1.cc(38)] Get eligible notification ads:
00:17:15.234  V  [VERBOSE1:eligible_notification_ads_v1.cc(96)] Get eligible ads for child segments:
00:17:15.235  V  [VERBOSE1:eligible_notification_ads_v1.cc(98)]   technology & computing-technology & computing
00:17:15.235  V  [VERBOSE1:eligible_notification_ads_v1.cc(98)]   business-marketing
00:17:15.235  V  [VERBOSE1:eligible_notification_ads_v1.cc(98)]   personal finance-personal finance
00:17:15.239  V  [VERBOSE1:eligible_notification_ads_v1.cc(127)] No eligible ads out of 0 ads for child segments
00:17:15.240  V  [VERBOSE1:eligible_notification_ads_v1.cc(151)] Get eligible ads for parent segments:
00:17:15.240  V  [VERBOSE1:eligible_notification_ads_v1.cc(153)]   technology & computing
00:17:15.241  V  [VERBOSE1:eligible_notification_ads_v1.cc(153)]   business
00:17:15.241  V  [VERBOSE1:eligible_notification_ads_v1.cc(153)]   personal finance
00:17:15.245  V  [VERBOSE1:eligible_notification_ads_v1.cc(180)] No eligible ads out of 0 ads for parent segments
00:17:15.245  V  [VERBOSE1:eligible_notification_ads_v1.cc(196)] Get eligible ads for untargeted segment
00:17:15.254  V  [VERBOSE2:exclusion_rules_base.cc(115)] creativeSetId 45ea5952-37ca-41f0-88c2-4b546b0e6f4b has exceeded the perDay frequency cap
00:17:15.257  V  [VERBOSE2:priority.h(35)] 1 ads with a priority of 1 in bucket 1
00:17:15.257  V  [VERBOSE1:eligible_notification_ads_v1.cc(229)] 1 eligible ads out of 11 ads for untargeted segment
00:17:15.258  V  [VERBOSE1:notification_ad.cc(135)] Opportunity arose to serve a notification ad
00:17:15.260  V  [VERBOSE1:notification_ad_serving.cc(131)] Found 1 eligible ads
00:17:15.261  V  [VERBOSE1:notification_ad_serving.cc(196)] Served notification ad:
                   placementId: b48bb952-78f4-428f-8515-18e8b5ce7a74
                   creativeInstanceId: 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
                   creativeSetId: 5f8c4787-8431-49a5-9d09-bba40f8ad5f4
                   campaignId: d1e25388-b362-4f30-bd4b-36b8205e59e5
                   advertiserId: a34de75d-5654-4331-8713-8f4d4e2b6bf7
                   segment: untargeted
                   title: Vivamus sagittis lacus vel aug
                   body: Duis mollis, est non commodo luctus, nisi erat porttitor lig
                   targetUrl: https://www.apple.com/
00:17:15.282  V  [VERBOSE3:notification_ad_event_served.cc(19)] Served notification ad with placement id b48bb952-78f4-428f-8515-18e8b5ce7a74 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
00:17:15.325  V  [VERBOSE1:notification_ad_serving.cc(158)] Maybe serve notification ad in 0 godzin, 6 minut i 0 sekund at 00:23:15,284
00:17:15.326  V  [VERBOSE3:notification_ad_event_viewed.cc(19)] Viewed notification ad with placement id b48bb952-78f4-428f-8515-18e8b5ce7a74 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
00:17:15.326  V  [VERBOSE1:notification_ad_event_served.cc(28)] Successfully logged notification ad served event
00:17:15.336  V  [VERBOSE6:notification_ad_event_viewed.cc(28)] Successfully logged notification ad viewed event

Verified user was paid for the ad:

00:17:21.821  V  [VERBOSE1:redeem_unblinded_token.cc(367)] Successfully redeemed unblinded token view confirmation for ad_notification with transaction id daca97da-7a27-4032-b114-d77d6f6fc392 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed
00:17:21.825  V  [VERBOSE1:confirmations.cc(222)] You have 1 unblinded payment tokens which will be redeemed

@LaurenWags LaurenWags removed the QA/In-Progress Indicates that QA is currently in progress for that particular issue label Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants