brave / qa-resources

Mozilla Public License 2.0
21 stars 19 forks source link

Request for rotating payment tokens #362

Closed saberistic closed 2 years ago

saberistic commented 3 years ago

Release Date/Target:

Hopefully before end of August so the actual rotation on production can happen on 1st of September

Summary:

Currently we rotate confirmation tokens every month, we want to expand that functionality to payment tokens.

Related GH issues/Documentation:

Server changes has been reveiwed and merged previously. It requires an update query to be run on the database to rotate the keys and check client behavior.

btlechowski commented 3 years ago

@amirsaber Could you add some testcases to the issue so we have a better understanding what need to be tested?

saberistic commented 3 years ago

@btlechowski not sure what would be the appropriate template here. We want to make sure clients are keeping their payment tokens and redeem them with service successfully even after public keys in catalog got rotated.

so I assume the test case will be like having a profile that is ready to redeem payment tokens, then we rotate tokens from backend side and observe client behavior after. Should 1- redeem previously signed payment tokens just fine and 2- gets new key payment tokens with a new confirmation.

btlechowski commented 3 years ago

I propose that the test plan is split into 3 parts:

  1. Before rotation - QA will prepare the profiles
  2. Rotation - @amirsaber will rotate the payment tokens
  3. After rotation - QA will verify that the payment tokens were redeemed.

Before rotation:

Not redeemed payment tokens

  1. Clean install
  2. Run Brave on staging
  3. Enable rewards and ads
  4. View some ads -> get payment tokens
  5. Backup the profile

Redeemed payment tokens

  1. Clean install
  2. Run Brave on staging
  3. Enable rewards and ads
  4. View some ads -> get payment tokens
  5. Redeem payment tokens (RedeemUnblindedPaymentTokens in the logs) - move clock forward if needed Expected result: redemption is successful; OnGetPayments returns increased transactionCount and balance
  6. Backup the profile

After rotation:

Not redeemed payment tokens

  1. Enable logging
  2. Redeem payment tokens (RedeemUnblindedPaymentTokens in the logs) - move clock forward if needed Expected result: redemption is successful; OnGetPayments returns increased transactionCount and balance
  3. View some ads -> get payment tokens
  4. Redeem payment tokens (RedeemUnblindedPaymentTokens in the logs) - move clock forward if needed Expected result: redemption is successful; OnGetPayments returns increased transactionCount and balance

Redeemed payment tokens

  1. Enable logging
  2. OnGetPayments returns the same transactionCount and balance
  3. View some ads -> get payment tokens
  4. Redeem payment tokens (RedeemUnblindedPaymentTokens in the logs) - move clock forward if needed Expected result: redemption is successful; OnGetPayments returns increased transactionCount and balance
btlechowski commented 3 years ago

Verification passed on


Brave | 1.29.77 Chromium: 93.0.4577.63 (Official Build) (64-bit)
-- | --
Revision | ff5c0da2ec0adeaed5550e6c7e98417dac77d98a-refs/branch-heads/4577@{#1135}
OS | Windows 10 OS Version 2009 (Build 19043.1165)

Before rotation

Got catalog with following issuers: ``` [10224:19312:0903/211815.370:VERBOSE1:ad_server.cc(85)] Successfully fetched catalog [10224:19312:0903/211815.370:VERBOSE1:ad_server.cc(87)] Parsing catalog [10224:19312:0903/211815.376:VERBOSE3:bundle.cc(620)] Successfully saved creative inline content ads state [10224:19312:0903/211815.376:VERBOSE3:bundle.cc(634)] Successfully saved creative new tab page ads state [10224:19312:0903/211815.376:VERBOSE3:bundle.cc(648)] Successfully saved creative promoted content ads state [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(61)] SetCatalogIssuers: [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(62)] Public key: cKo0rk1iS8Obgyni0X3RRoydDIGHsivTkfX/TM1Xl24= [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(63)] Issuers: [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(66)] Name: 0.01BAT [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(67)] Public key: JiwFR2EU/Adf1lgox+xqOVPuc6a/rxdy/LguFG5eaXg= [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(66)] Name: 0.025BAT [10224:19312:0903/211815.376:VERBOSE1:confirmations.cc(67)] Public key: CrQLMWmUuYog6Q93nScS8Lo1HHSex8WM2Qxij7qhjkQ= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0.15BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: iJcG3AkH1sgl+5YCZuo+4Q/7aeBOnYyntkIUXeMbDCs= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0.3BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: 6DBiZUS47m8eb5ohI2MiRaERLzS4DQgMp4nxPLKAenA= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0.20BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: VihGXGoiQ5Fjxe4SrskIVMcmERa1LoAgvhFxxfLmNEI= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0.10BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: aDD4SJmIj2xwdA6D00K1dopTg90oOFpwd2iiK8bqqlQ= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0.05BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: bPE1QE65mkIgytffeu7STOfly+x10BXCGuk5pVlOHQU= [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(66)] Name: 0.25BAT [10224:19312:0903/211815.377:VERBOSE1:confirmations.cc(67)] Public key: YOIEGq4joK7rtkWdcNdNNGT5xlU/KIrri4AX19qwZW4= ``` Viewed some ads, made sure was paid for it ``` [10224:19312:0903/212036.311:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 7f9f52de-d128-4e4c-91b7-00b19616c417 creativeInstanceId: d55f52f6-f02b-4808-b6e2-b2a7734ad836 creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b campaignId: 1c1ac828-db13-49bb-9128-090132044b7f advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8 segment: untargeted title: Ad2 body: Ad2 targetUrl: https://brave.com [10224:19312:0903/212036.316:INFO:notification_helper_win.cc(197)] Notifications are enabled [10224:19312:0903/212036.317:VERBOSE1:ads_service_impl.cc(1969)] Timeout ad notification with uuid 7f9f52de-d128-4e4c-91b7-00b19616c417 in 120 seconds [10224:19312:0903/212036.317:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 7f9f52de-d128-4e4c-91b7-00b19616c417 and creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 [10224:19312:0903/212036.317:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [10224:19312:0903/212036.317:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 7f9f52de-d128-4e4c-91b7-00b19616c417 and creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 [10224:19312:0903/212036.317:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 [10224:19312:0903/212036.317:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [10224:19312:0903/212036.318:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [10224:19312:0903/212036.318:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [10224:19312:0903/212036.318:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b9628476-f378-450d-90a2-5be8806994b4/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwibnZkdUFBRGlIMGFrRjZRQ1lwL2RPaWcwVXozeHJabEw2cWhvb29ZQzlDND1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJkNTVmNTJmNi1mMDJiLTQ4MDgtYjZlMi1iMmE3NzM0YWQ4MzZcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoid25jKzg4cGVtVnEvQ2xBc29RVEsyZnF4V1FKTjdTTnpkMzhmdkNIeVE1SlRQQ2VKRzVJQkNabGVjNjU2MTM0dGlhWWI1TWlYMEVDeGpkMTZxcDA4bUE9PSIsInQiOiJuazEwRXUrNU9qdFBGVXUzS1FRbWFNdkV5NXBLazlYM3o3RVVSWFNkdWtOdTZRak9qMjllOFJUWGxTK0twTktRN2FQMjNDdURxWnl6MFYweTltR3g1UT09In0= [10224:19312:0903/212036.326:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [10224:19312:0903/212036.332:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [10224:19312:0903/212037.368:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [10224:19312:0903/212037.368:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b9628476-f378-450d-90a2-5be8806994b4/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwibnZkdUFBRGlIMGFrRjZRQ1lwL2RPaWcwVXozeHJabEw2cWhvb29ZQzlDND1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJkNTVmNTJmNi1mMDJiLTQ4MDgtYjZlMi1iMmE3NzM0YWQ4MzZcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoid25jKzg4cGVtVnEvQ2xBc29RVEsyZnF4V1FKTjdTTnpkMzhmdkNIeVE1SlRQQ2VKRzVJQkNabGVjNjU2MTM0dGlhWWI1TWlYMEVDeGpkMTZxcDA4bUE9PSIsInQiOiJuazEwRXUrNU9qdFBGVXUzS1FRbWFNdkV5NXBLazlYM3o3RVVSWFNkdWtOdTZRak9qMjllOFJUWGxTK0twTktRN2FQMjNDdURxWnl6MFYweTltR3g1UT09In0= Response Status Code: 201 Response: {"id":"b9628476-f378-450d-90a2-5be8806994b4","payload":{},"createdAt":"2021-09-03T15:50:37.558Z","type":"view","modifiedAt":"2021-09-03T15:50:37.558Z","creativeInstanceId":"d55f52f6-f02b-4808-b6e2-b2a7734ad836"} [10224:19312:0903/212037.368:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [10224:19312:0903/212037.368:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [10224:19312:0903/212037.368:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b9628476-f378-450d-90a2-5be8806994b4/paymentToken Method: kGet [10224:19312:0903/212037.666:VERBOSE1:browser_manager.cc(65)] Browser window is inactive [10224:19312:0903/212037.667:VERBOSE6:user_activity.cc(41)] Triggered event: 17 (6.5:2:3600 s) [10224:19312:0903/212037.667:VERBOSE1:browser_manager.cc(99)] Browser did enter background [10224:19312:0903/212037.667:VERBOSE6:user_activity.cc(41)] Triggered event: 02 (7:2:3600 s) [10224:19312:0903/212038.105:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [10224:19312:0903/212038.105:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b9628476-f378-450d-90a2-5be8806994b4/paymentToken Response Status Code: 200 Response: {"id":"b9628476-f378-450d-90a2-5be8806994b4","createdAt":"2021-09-03T15:50:37.558Z","type":"view","modifiedAt":"2021-09-03T15:50:37.588Z","creativeInstanceId":"d55f52f6-f02b-4808-b6e2-b2a7734ad836","paymentToken":{"publicKey":"JiwFR2EU/Adf1lgox +xqOVPuc6a/rxdy/LguFG5eaXg=","batchProof":"sOHXLhDFzhn9TXGr/gDOQUzkAs0lvIQ2hjUdndiikwl5yilVCGFMPVEtenxag4DQMNTrao7pOSK6efn0cDGMCA==","signedTokens":["lFt8xX9Kp5hMljdoqv/q39KO0ZSrWeJTRy+iajrCllE="]}} [10224:19312:0903/212038.106:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id b9628476-f378-450d-90a2-5be8806994b4, creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 and view [10224:19312:0903/212038.106:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens [10224:19312:0903/212038.107:VERBOSE1:refill_unblinded_tokens.cc(66)] No need to refill unblinded tokens as we already have 49 unblinded tokens which is above the minimum threshold of 20 [10224:19312:0903/212038.175:VERBOSE1:ads_service_impl.cc(1092)] Cancelled timeout for ad notification with uuid 7f9f52de-d128-4e4c-91b7-00b19616c417 [10224:19312:0903/212038.188:VERBOSE3:ad_notification_event_clicked.cc(26)] Clicked ad notification with uuid 7f9f52de-d128-4e4c-91b7-00b19616c417 and creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 [10224:19312:0903/212038.199:INFO:notification_helper_win.cc(197)] Notifications are enabled [10224:19312:0903/212038.199:VERBOSE1:confirmations.cc(90)] Confirming click ad for creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 [10224:19312:0903/212038.202:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [10224:19312:0903/212038.202:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [10224:19312:0903/212038.202:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [10224:19312:0903/212038.202:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/5affdb6b-2bc6-4d64-8697-7d4a552f9488/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiU0dqU3dzTlVhaklmZk95RTF0MU8vdTZhTjBEekFoNjV5L0FueThBMjJ6ND1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJkNTVmNTJmNi1mMDJiLTQ4MDgtYjZlMi1iMmE3NzM0YWQ4MzZcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJjbGlja1wifSIsInNpZ25hdHVyZSI6IkJncGNBYWpsQTFOVHkxSmwyYm13R3RRTkxrRTFkcFlwZm9BWk1GZ2d5eWFEajhSR3JBODF0QVFZbkIwQXNCQ3NITXdnN0JFZXhmMmhheTVrcGZHRHRBPT0iLCJ0IjoidUFGWW1ydmhoMGtDLzcyUFc4WC9IV0tMd1pDYnBHTlZoRGtUc1lJemp2RnBIUUNyZng0Y3ZMRzdIcFY2bHZNcjdYNytIQVk3enZUYncyN0pqaUw5MGc9PSJ9 Content: {"blindedPaymentToken":"SGjSwsNUajIffOyE1t1O/u6aN0DzAh65y/Any8A22z4=","buildChannel":"beta","creativeInstanceId":"d55f52f6-f02b-4808-b6e2-b2a7734ad836","payload":{},"platform":"windows","studies":[],"type":"click"} Content Type: application/json Method: kPost [10224:19312:0903/212038.203:VERBOSE1:epsilon_greedy_bandit_processor.cc(143)] Epsilon greedy bandit arm was not found for untargeted segment [10224:19312:0903/212038.203:VERBOSE1:epsilon_greedy_bandit_processor.cc(107)] Epsilon greedy bandit processed kClicked [10224:19312:0903/212038.203:VERBOSE1:browser_manager.cc(86)] Browser did become active [10224:19312:0903/212038.203:VERBOSE6:user_activity.cc(41)] Triggered event: 01 (7.5:2:3600 s) [10224:19312:0903/212038.203:VERBOSE1:browser_manager.cc(52)] Browser window is active [10224:19312:0903/212038.203:VERBOSE6:user_activity.cc(41)] Triggered event: 16 (7.5:2:3600 s) [10224:19312:0903/212038.208:VERBOSE1:ad_notification_event_clicked.cc(38)] Successfully logged ad notification clicked event [10224:19312:0903/212038.653:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [10224:19312:0903/212038.653:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/5affdb6b-2bc6-4d64-8697-7d4a552f9488/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiU0dqU3dzTlVhaklmZk95RTF0MU8vdTZhTjBEekFoNjV5L0FueThBMjJ6ND1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJkNTVmNTJmNi1mMDJiLTQ4MDgtYjZlMi1iMmE3NzM0YWQ4MzZcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJjbGlja1wifSIsInNpZ25hdHVyZSI6IkJncGNBYWpsQTFOVHkxSmwyYm13R3RRTkxrRTFkcFlwZm9BWk1GZ2d5eWFEajhSR3JBODF0QVFZbkIwQXNCQ3NITXdnN0JFZXhmMmhheTVrcGZHRHRBPT0iLCJ0IjoidUFGWW1ydmhoMGtDLzcyUFc4WC9IV0tMd1pDYnBHTlZoRGtUc1lJemp2RnBIUUNyZng0Y3ZMRzdIcFY2bHZNcjdYNytIQVk3enZUYncyN0pqaUw5MGc9PSJ9 Response Status Code: 201 Response: {"id":"5affdb6b-2bc6-4d64-8697-7d4a552f9488","payload":{},"createdAt":"2021-09-03T15:50:38.861Z","type":"click","modifiedAt":"2021-09-03T15:50:38.861Z","creativeInstanceId":"d55f52f6-f02b-4808-b6e2-b2a7734ad836"} [10224:19312:0903/212038.653:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [10224:19312:0903/212038.654:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [10224:19312:0903/212038.654:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/5affdb6b-2bc6-4d64-8697-7d4a552f9488/paymentToken Method: kGet [10224:19312:0903/212039.024:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [10224:19312:0903/212039.025:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/5affdb6b-2bc6-4d64-8697-7d4a552f9488/paymentToken Response Status Code: 200 Response: {"id":"5affdb6b-2bc6-4d64-8697-7d4a552f9488","createdAt":"2021-09-03T15:50:38.861Z","type":"click","modifiedAt":"2021-09-03T15:50:38.884Z","creativeInstanceId":"d55f52f6-f02b-4808-b6e2-b2a7734ad836","paymentToken":{"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8=","batchProof":"BqyxDpXFMdK+qnmZA4AFctSatyAwWANHwVlSQh02swY6C6WwhBZx8iXGUJu8YNVXexw+SZR3+VlThAKWTYxECg==","signedTokens":["cu5O/MLdfoJy5hzDEHfcG7cm7Q8OW6YFxh18D8kHNSU="]}} [10224:19312:0903/212039.025:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id 5affdb6b-2bc6-4d64-8697-7d4a552f9488, creative instance id d55f52f6-f02b-4808-b6e2-b2a7734ad836 and click [10224:19312:0903/212039.026:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0 BAT, you now have 2 unblinded payment tokens [10224:19312:0903/212708.571:VERBOSE1:eligible_ad_notifications.cc(147)] Get eligble ads for untargeted segment [10224:19312:0903/212708.574:VERBOSE2:ad_priority.h(32)] 4 ads with a priority of 1 in bucket 1 [10224:19312:0903/212708.574:VERBOSE1:ad_notification_serving.cc(126)] Found 4 eligible ads [10224:19312:0903/212708.574:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 02146f39-6a54-49e2-992e-9208ac70a2d4 creativeInstanceId: ed6c467a-8643-42eb-a7cd-32e878fa3cd4 creativeSetId: a9f0b49c-3298-4c1b-a8b5-76a71e8d7332 campaignId: 0e70c893-b0c0-4dab-860d-7e65446f0f0f advertiserId: 8d2f4191-b76e-4369-8983-3d9ff551c5ad segment: untargeted title: This is a test body: This is a test targetUrl: https://www.brave.com [10224:19312:0903/212708.579:INFO:notification_helper_win.cc(197)] Notifications are enabled [10224:19312:0903/212708.579:VERBOSE1:ads_service_impl.cc(1969)] Timeout ad notification with uuid 02146f39-6a54-49e2-992e-9208ac70a2d4 in 120 seconds [10224:19312:0903/212708.580:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 02146f39-6a54-49e2-992e-9208ac70a2d4 and creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 [10224:19312:0903/212708.580:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [10224:19312:0903/212708.580:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 02146f39-6a54-49e2-992e-9208ac70a2d4 and creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 [10224:19312:0903/212708.580:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 [10224:19312:0903/212708.581:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [10224:19312:0903/212708.581:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [10224:19312:0903/212708.581:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [10224:19312:0903/212708.581:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/d1d9c3b6-6078-46aa-b842-c46fed8a1905/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiOG5xMlRIbmhYcCt1WnFRS0RDRllUTS94SGJ2c0doVHFlZlVKSlcxS0lFdz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJlZDZjNDY3YS04NjQzLTQyZWItYTdjZC0zMmU4NzhmYTNjZDRcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiRDIvSjN1MzZudmlqM2RFMGc4S1Q5UWpXakxSNHVlbjh4TWhpK0lkbnc2dGRrdUFsTnFIQm43QjFKUGJiWlNyYWlQUTFEN2NqbEJSTmFTTDZWUUpRSmc9PSIsInQiOiIvallmUkx5b2ZRSzhQWldJVEVLc1h5d1ZJM29FZTduWkVIZENOVGthcWdkMnhlZHFzcUIxM1E2N3dUZG1RS3Z1NXZlTlBib0ZiZ0Q1RnVLWlVVUDNzZz09In0= [10224:19312:0903/212708.589:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [10224:19312:0903/212708.595:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [10224:19312:0903/212709.994:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [10224:19312:0903/212709.994:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/d1d9c3b6-6078-46aa-b842-c46fed8a1905/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiOG5xMlRIbmhYcCt1WnFRS0RDRllUTS94SGJ2c0doVHFlZlVKSlcxS0lFdz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJlZDZjNDY3YS04NjQzLTQyZWItYTdjZC0zMmU4NzhmYTNjZDRcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiRDIvSjN1MzZudmlqM2RFMGc4S1Q5UWpXakxSNHVlbjh4TWhpK0lkbnc2dGRrdUFsTnFIQm43QjFKUGJiWlNyYWlQUTFEN2NqbEJSTmFTTDZWUUpRSmc9PSIsInQiOiIvallmUkx5b2ZRSzhQWldJVEVLc1h5d1ZJM29FZTduWkVIZENOVGthcWdkMnhlZHFzcUIxM1E2N3dUZG1RS3Z1NXZlTlBib0ZiZ0Q1RnVLWlVVUDNzZz09In0= Response Status Code: 201 Response: {"id":"d1d9c3b6-6078-46aa-b842-c46fed8a1905","payload":{},"createdAt":"2021-09-03T15:57:10.200Z","type":"view","modifiedAt":"2021-09-03T15:57:10.200Z","creativeInstanceId":"ed6c467a-8643-42eb-a7cd-32e878fa3cd4"} [10224:19312:0903/212709.994:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [10224:19312:0903/212709.994:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [10224:19312:0903/212709.994:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/d1d9c3b6-6078-46aa-b842-c46fed8a1905/paymentToken Method: kGet [10224:19312:0903/212710.378:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [10224:19312:0903/212710.378:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/d1d9c3b6-6078-46aa-b842-c46fed8a1905/paymentToken Response Status Code: 200 Response: {"id":"d1d9c3b6-6078-46aa-b842-c46fed8a1905","createdAt":"2021-09-03T15:57:10.200Z","type":"view","modifiedAt":"2021-09-03T15:57:10.221Z","creativeInstanceId":"ed6c467a-8643-42eb-a7cd-32e878fa3cd4","paymentToken":{"publicKey":"CrQLMWmUuYog6Q93nScS8Lo1HHSex8WM2Qxij7qhjkQ=","batchProof":"qa8YwnMgYmaR32ODjLta5fmQk5/oGy+cEy11iodYogBd7SNPs48y+0eoUZSSlWH1DGPj4PX3G/gnrmDr58cVBQ==","signedTokens":["IMS+mhqz/tlnIaPvXQtGnotnevdVsoyBrEHWKfu6FEU="]}} [10224:19312:0903/212710.381:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id d1d9c3b6-6078-46aa-b842-c46fed8a1905, creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 and view [10224:19312:0903/212710.383:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.025 BAT, you now have 3 unblinded payment tokens [10224:19312:0903/212710.384:VERBOSE1:refill_unblinded_tokens.cc(66)] No need to refill unblinded tokens as we already have 47 unblinded tokens which is above the minimum threshold of 20 [10224:19312:0903/212711.716:VERBOSE3:ad_notification_event_clicked.cc(26)] Clicked ad notification with uuid 02146f39-6a54-49e2-992e-9208ac70a2d4 and creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 [10224:19312:0903/212711.723:INFO:notification_helper_win.cc(197)] Notifications are enabled [10224:19312:0903/212711.724:VERBOSE1:confirmations.cc(90)] Confirming click ad for creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 [10224:19312:0903/212711.730:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [10224:19312:0903/212711.730:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [10224:19312:0903/212711.730:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [10224:19312:0903/212711.730:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/0bd3fb44-cada-45af-a6c9-2d775d0f041d/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiTmhxMnM3ZHdJTVJ0Tk0yUjVCckdZSVNoSjhxb3p2MGdMRmpRS3lEUzZWMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJlZDZjNDY3YS04NjQzLTQyZWItYTdjZC0zMmU4NzhmYTNjZDRcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJjbGlja1wifSIsInNpZ25hdHVyZSI6InVRdVhkakNyL096NTNhMERkMW00blEzRUhoY3pyOXlCV3ZScnRvWmk2cWFPMGtDSnpNM3ZHeUNqa2Vxc2tSMXdDQXdWTmwyRjZmWVM3bWVuckJLRmhnPT0iLCJ0IjoiVERFRVU5aU1xSGZ6WjcwMUVuaW1lMHA2SHZLVWNiZGc0aUpUS216b3hiamVtd2tJVG5QL2c5dVpJY3dYcUt6dWVFbjJ6RnBQbXRFK2VLZmpLSXlEOVE9PSJ9 [10224:19312:0903/212711.732:VERBOSE1:epsilon_greedy_bandit_processor.cc(143)] Epsilon greedy bandit arm was not found for untargeted segment [10224:19312:0903/212711.732:VERBOSE1:epsilon_greedy_bandit_processor.cc(107)] Epsilon greedy bandit processed kClicked [10224:19312:0903/212712.149:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/0bd3fb44-cada-45af-a6c9-2d775d0f041d/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiTmhxMnM3ZHdJTVJ0Tk0yUjVCckdZSVNoSjhxb3p2MGdMRmpRS3lEUzZWMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwiYmV0YVwiLFwiY3JlYXRpdmVJbnN0YW5jZUlkXCI6XCJlZDZjNDY3YS04NjQzLTQyZWItYTdjZC0zMmU4NzhmYTNjZDRcIixcInBheWxvYWRcIjp7fSxcInBsYXRmb3JtXCI6XCJ3aW5kb3dzXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJjbGlja1wifSIsInNpZ25hdHVyZSI6InVRdVhkakNyL096NTNhMERkMW00blEzRUhoY3pyOXlCV3ZScnRvWmk2cWFPMGtDSnpNM3ZHeUNqa2Vxc2tSMXdDQXdWTmwyRjZmWVM3bWVuckJLRmhnPT0iLCJ0IjoiVERFRVU5aU1xSGZ6WjcwMUVuaW1lMHA2SHZLVWNiZGc0aUpUS216b3hiamVtd2tJVG5QL2c5dVpJY3dYcUt6dWVFbjJ6RnBQbXRFK2VLZmpLSXlEOVE9PSJ9 Response Status Code: 201 Response: {"id":"0bd3fb44-cada-45af-a6c9-2d775d0f041d","payload":{},"createdAt":"2021-09-03T15:57:12.367Z","type":"click","modifiedAt":"2021-09-03T15:57:12.367Z","creativeInstanceId":"ed6c467a-8643-42eb-a7cd-32e878fa3cd4"} [10224:19312:0903/212712.149:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [10224:19312:0903/212712.149:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [10224:19312:0903/212712.149:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/0bd3fb44-cada-45af-a6c9-2d775d0f041d/paymentToken Method: kGet [10224:19312:0903/212712.887:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [10224:19312:0903/212712.887:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/0bd3fb44-cada-45af-a6c9-2d775d0f041d/paymentToken Response Status Code: 200 Response: {"id":"0bd3fb44-cada-45af-a6c9-2d775d0f041d","createdAt":"2021-09-03T15:57:12.367Z","type":"click","modifiedAt":"2021-09-03T15:57:12.378Z","creativeInstanceId":"ed6c467a-8643-42eb-a7cd-32e878fa3cd4","paymentToken":{"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8=","batchProof":"UAYq6DdcttHfmKX73TibcezjDAjFNCsXzqDZowrNVAOxrjhlgBNY/3+xr0Lx0FjvBRTUKLm0zm/2/vG/N9b5AA==","signedTokens":["ZAEjiC8uSWXnq071cUHkI86i1QdfG7xqHq13OGwttkQ="]}} [10224:19312:0903/212712.887:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id 0bd3fb44-cada-45af-a6c9-2d775d0f041d, creative instance id ed6c467a-8643-42eb-a7cd-32e878fa3cd4 and click [10224:19312:0903/212712.888:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0 BAT, you now have 4 unblinded payment tokens ``` Verified ads are listed in ads history ![image](https://user-images.githubusercontent.com/38657976/132360323-a7d1743d-30e6-455e-87b4-338a703d54ff.png)

After rotation

Got catalog with following issuers: Verified catalog with new issuers was downloaded ``` [5096:17188:0907/194609.302:VERBOSE1:confirmations.cc(61)] SetCatalogIssuers: [5096:17188:0907/194609.303:VERBOSE1:confirmations.cc(62)] Public key: cKo0rk1iS8Obgyni0X3RRoydDIGHsivTkfX/TM1Xl24= [5096:17188:0907/194609.303:VERBOSE1:confirmations.cc(63)] Issuers: [5096:17188:0907/194609.304:VERBOSE1:confirmations.cc(66)] Name: 0.25BAT [5096:17188:0907/194609.305:VERBOSE1:confirmations.cc(67)] Public key: AjgaKCHwdzVmrQVl8+afkEabY4Lu7H3UEPo9jraBWiU= [5096:17188:0907/194609.305:VERBOSE1:confirmations.cc(66)] Name: 0BAT [5096:17188:0907/194609.306:VERBOSE1:confirmations.cc(67)] Public key: VMKSj4AeyPwAF4AuS7AN+1stD/ZN0R9tW9WEtXXN6HM= [5096:17188:0907/194609.306:VERBOSE1:confirmations.cc(66)] Name: 0.20BAT [5096:17188:0907/194609.307:VERBOSE1:confirmations.cc(67)] Public key: 3t9vPWOt5lN60Zjsmr76fNDLfOzxYIq3vKjWdM9X/Bk= [5096:17188:0907/194609.307:VERBOSE1:confirmations.cc(66)] Name: 0.05BAT [5096:17188:0907/194609.308:VERBOSE1:confirmations.cc(67)] Public key: ooqYLwDv/vLWeuGX+I1/D8mR3LeN2ioKCEHSBnlHkmw= [5096:17188:0907/194609.308:VERBOSE1:confirmations.cc(66)] Name: 0.15BAT [5096:17188:0907/194609.309:VERBOSE1:confirmations.cc(67)] Public key: UHrWoG29ze91jRE4F0sJJRV6aFAgHndO8KYqHRKPbG4= [5096:17188:0907/194609.309:VERBOSE1:confirmations.cc(66)] Name: 0.01BAT [5096:17188:0907/194609.310:VERBOSE1:confirmations.cc(67)] Public key: GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU= [5096:17188:0907/194609.310:VERBOSE1:confirmations.cc(66)] Name: 0.025BAT [5096:17188:0907/194609.311:VERBOSE1:confirmations.cc(67)] Public key: OAhrcTws9LZ15PezS7diPXwElMMgyNuVfFwmOyJyDhM= [5096:17188:0907/194609.311:VERBOSE1:confirmations.cc(66)] Name: 0.3BAT [5096:17188:0907/194609.312:VERBOSE1:confirmations.cc(67)] Public key: lKTtvRtX6wzVJ6yinrSwL4ZOUFFzq0fgWl+w8uV68yk= [5096:17188:0907/194609.320:VERBOSE1:confirmations.cc(66)] Name: 0.10BAT [5096:17188:0907/194609.321:VERBOSE1:confirmations.cc(67)] Public key: gJAuDO7BXkLmlFoxQnmblaIxxovZBsHngBkR+0dJ8hQ= ``` `RedeemUnblindedPaymentTokens` was successful after rotation Verified `RedeemUnblindedPaymentTokens` used old issuers keys ``` [5096:17188:0907/194706.455:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [5096:17188:0907/194706.457:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [5096:17188:0907/194706.463:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Content: {"payload":"{\"paymentId\":\"fb92b335-48d5-494c-aeb1-0c09ea90ebb2\"}","paymentCredentials":[{"credential":{"signature":"/B640pF7KqniSauzOp2yK2UH1cBFf625kH3o+gf6JcQCNSzp0z4DnuyUW8LNWQpjzDNA/d0+sCNq6g+jO9GBpw==","t":"KJZ5QXqBUDPJyv1DYhzujZ3N+3Ie5IU1LsG3KmJB2vOBkiLyB7zNE/cZ2lUjcX4WrMCQ41Ac4X+Q7oOqtxwBHA=="},"publicKey":"JiwFR2EU/Adf1lgox+xqOVPuc6a/rxdy/LguFG5eaXg="},{"credential":{"signature":"9fNGb7MCnFHa0PLsiXbl2AC375FfbFWB39Xv92r1ic1roRmi/eDXPhsfrQXUD/sW4puAWWbzXrbgVE9heLyXvQ==","t":"zwvZW2PBJPY8/6YgBywJMN96XVf1KiEHRRO8NO+lPPEBYEOqiC0qJNVwwoLQvmmK8RSizDfGDpWQpIHw8UK+lg=="},"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8="},{"credential":{"signature":"9LnpVdKMgeoTTDszOyKgwCgUXcMosKGjo8W8x/Bl+WSttVR/vji9GPpCKJsP5t/L8Wh8504CbHylgx9GMIl1rw==","t":"vExzP26i/+quQaMomDGjYdrqOEhdefUz95KpMe1iAtxOyQMNr0K/LT3owF9sRHxWP7eXZIEzE5JFOK5JEb7Z3A=="},"publicKey":"CrQLMWmUuYog6Q93nScS8Lo1HHSex8WM2Qxij7qhjkQ="},{"credential":{"signature":"5k1+cAuy/eZbRz0IqK1snmrWhincgwkmK+FZ9ki8N5hf0WPSZGTxfhk6VP5ML33QgK4+/BF08alThWUHcsNEGg==","t":"7XBcFQG1/0zbVjx/P6gNayGSAhTx8NN+nh2HQG6un6VeIO3I7ABsZdXJE81d91f+qSNor6ZwDgAdCE//eLgHxQ=="},"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8="},{"credential":{"signature":"WWNpiHQDrX4Orx5p6FZ472sRBTtoO1yPhoaTfDug981F03I9Ytjd2IGuToIumJhX4LnxVKT9TJlKwzkwwEeEgg==","t":"o5J6FME/Iae7Cb0LIrfa9UMWK078ko5Xy5Vj3Ko034O95xUIwt4tBxrFd5wxaIS30wBehDG3hiiAutk0GGzyRQ=="},"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8="}]} Content Type: application/json Method: PUT [5096:17188:0907/194707.759:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [5096:17188:0907/194707.759:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Response Status Code: 200 Response: {"status":"ok"} [5096:17188:0907/194707.766:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [5096:17188:0907/194707.773:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [5096:17188:0907/194707.774:VERBOSE1:ad_rewards.cc(227)] GetPayments [5096:17188:0907/194707.774:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [5096:17188:0907/194707.776:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Method: GET [5096:17188:0907/194707.777:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 8 hours, 26 minutes, 31 seconds at 4:13 AM [5096:17188:0907/194708.177:VERBOSE1:uphold.cc(114)] Uphold wallet is not VERIFIED. [5096:17188:0907/194708.829:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [5096:17188:0907/194708.829:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"0","balance":"0"}] ``` Encountered the issue which @LaurenWags found, rotation balance is showing up as zero in the logs as well as in the UI ``` Response: [{"month":"2021-09","transactionCount":"0","balance":"0"}] ``` ![image](https://user-images.githubusercontent.com/38657976/132364648-9213a5ec-44fc-484a-87f8-4b6eabb8171a.png) Verified able to view an ad and be paid for it ![image](https://user-images.githubusercontent.com/38657976/132364995-f611e518-81a1-42c0-bf9f-ce9ed05c82f4.png) ``` [8476:13828:0907/201621.578:VERBOSE1:eligible_ad_notifications.cc(147)] Get eligble ads for untargeted segment [8476:13828:0907/201621.580:VERBOSE2:ad_priority.h(32)] 1 ads with a priority of 1 in bucket 1 [8476:13828:0907/201621.580:VERBOSE1:ad_notification_serving.cc(126)] Found 1 eligible ads [8476:13828:0907/201621.580:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 54d55a28-d3c6-4784-8fcc-831d40111169 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 [8476:13828:0907/201621.582:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid 54d55a28-d3c6-4784-8fcc-831d40111169 in 120 seconds [8476:13828:0907/201621.588:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 54d55a28-d3c6-4784-8fcc-831d40111169 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed [8476:13828:0907/201621.589:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [8476:13828:0907/201621.590:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 54d55a28-d3c6-4784-8fcc-831d40111169 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed [8476:13828:0907/201621.591:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed [8476:13828:0907/201621.592:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [8476:13828:0907/201621.593:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [8476:13828:0907/201621.593:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [8476:13828:0907/201621.594:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/cdded90d-dde5-4378-aa90-1aedab33e181/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwieW5OTk16WXZXY1ZVaUt6K0ZReHpCWWUxQ3M3YmRRN0k3V3VOUncvMDdSbz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjRjZGEzYWU3LTFmNzAtNGJjYS1iMzYxLWNhMDFkNmE4ZjFlZFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIndpbmRvd3NcIixcInN0dWRpZXNcIjpbXSxcInR5cGVcIjpcInZpZXdcIn0iLCJzaWduYXR1cmUiOiJZNHFhMWUxbE5MOXZtSFRZcnhjeHlMd2pkZGFmdjJqMFN2SGhkNURIUEhpN1NNUnc3S0tOSnpYRFBRRXJZb3pyQzQ0L2NSajRWRmNMYy8vcmlRTGZ5UT09IiwidCI6IlZxY2lIcGk1bXZMclhwT0xRQ29UazZxcjh0MXg4bE84RHBBdm40SUVGVE9DWkU4TmV0NmV6VXlHTlcvelVDUnkwVmc1YmdYYml0bGxWSWdHVzY4UlJBPT0ifQ== Content: {"blindedPaymentToken":"ynNNMzYvWcVUiKz+FQxzBYe1Cs7bdQ7I7WuNRw/07Ro=","buildChannel":"release","countryCode":"US","creativeInstanceId":"4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed","payload":{},"platform":"windows","studies":[],"type":"view"} Content Type: application/json Method: POST [8476:13828:0907/201621.599:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [8476:13828:0907/201621.606:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [8476:13828:0907/201622.611:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [8476:13828:0907/201622.611:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/cdded90d-dde5-4378-aa90-1aedab33e181/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwieW5OTk16WXZXY1ZVaUt6K0ZReHpCWWUxQ3M3YmRRN0k3V3VOUncvMDdSbz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjRjZGEzYWU3LTFmNzAtNGJjYS1iMzYxLWNhMDFkNmE4ZjFlZFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIndpbmRvd3NcIixcInN0dWRpZXNcIjpbXSxcInR5cGVcIjpcInZpZXdcIn0iLCJzaWduYXR1cmUiOiJZNHFhMWUxbE5MOXZtSFRZcnhjeHlMd2pkZGFmdjJqMFN2SGhkNURIUEhpN1NNUnc3S0tOSnpYRFBRRXJZb3pyQzQ0L2NSajRWRmNMYy8vcmlRTGZ5UT09IiwidCI6IlZxY2lIcGk1bXZMclhwT0xRQ29UazZxcjh0MXg4bE84RHBBdm40SUVGVE9DWkU4TmV0NmV6VXlHTlcvelVDUnkwVmc1YmdYYml0bGxWSWdHVzY4UlJBPT0ifQ== Response Status Code: 201 Response: {"id":"cdded90d-dde5-4378-aa90-1aedab33e181","payload":{},"createdAt":"2021-09-07T14:46:21.917Z","type":"view","modifiedAt":"2021-09-07T14:46:21.917Z","creativeInstanceId":"4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed"} [8476:13828:0907/201622.613:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [8476:13828:0907/201622.614:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [8476:13828:0907/201622.621:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/cdded90d-dde5-4378-aa90-1aedab33e181/paymentToken Method: GET [8476:13828:0907/201623.005:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [8476:13828:0907/201623.005:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/cdded90d-dde5-4378-aa90-1aedab33e181/paymentToken Response Status Code: 200 Response: {"id":"cdded90d-dde5-4378-aa90-1aedab33e181","createdAt":"2021-09-07T14:46:21.917Z","type":"view","modifiedAt":"2021-09-07T14:46:21.964Z","creativeInstanceId":"4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed","paymentToken":{"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU=","batchProof":"e8d4b7prbJZ5ZbSuSxiEmJLtmjgYvWtDUC0Vn+Wm0wjmJXh3o6fkctAZbyb9RHhXOSZAmoE8GpxL2Ozxy2dSDw==","signedTokens":["3Fyaz0WW9D/k3FeUYj4yAIY2ZAx4zcPeNOUPKHOQ9zc="]}} [8476:13828:0907/201623.007:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id cdded90d-dde5-4378-aa90-1aedab33e181, creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed and view [8476:13828:0907/201623.008:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens ``` Verified RedeemUnblindedPaymentTokens was successful with new ad Verified new issuers are used ``` [15864:16852:0907/203003.021:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [15864:16852:0907/203003.021:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [15864:16852:0907/203003.021:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Content: {"payload":"{\"paymentId\":\"fb92b335-48d5-494c-aeb1-0c09ea90ebb2\"}","paymentCredentials":[{"credential":{"signature":"VBmLpcmGWKZ7I1xqahbkelLAlhtNL8KGzgmXQ1T6IiLKxh0PJXAbFGZ/CukrdApt25t0p+0daD70sAIfj2rYWw==","t":"MDO/RqIfR77BztQufc6cCJzYizRzbVGjHo4J5pzajnj2xPXuUt+Ljt2/I+LjMUepqiXOWI3K74OT/EUHHVeFUw=="},"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU="},{"credential":{"signature":"kpAeKxkAgBE54yGDyXlMp9Vmsm4G8U+QSI8ofVEb3+LFNS2myTIdN0sv9QXcVrIMTNfuAgupBgOjDV3FXcpmnw==","t":"1ncc/CSnasggvCVz4RwLrUt76llLnJzCt4TVGh/fUp8RGhENLyLVgUT6claNPDRYjHJczh4UIK9ZjkTYmJJRyQ=="},"publicKey":"VMKSj4AeyPwAF4AuS7AN+1stD/ZN0R9tW9WEtXXN6HM="}]} Content Type: application/json Method: PUT [15864:16852:0907/203003.541:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [15864:16852:0907/203003.541:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Response Status Code: 200 Response: {"status":"ok"} [15864:16852:0907/203003.541:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [15864:16852:0907/203003.541:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [15864:16852:0907/203003.541:VERBOSE1:ad_rewards.cc(227)] GetPayments [15864:16852:0907/203003.541:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [15864:16852:0907/203003.541:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Method: GET [15864:16852:0907/203003.541:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 0 minutes, 35 seconds at 8:30 PM [15864:16852:0907/203003.983:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [15864:16852:0907/203003.984:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/fb92b335-48d5-494c-aeb1-0c09ea90ebb2 Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"1","balance":"0.01"}] [15864:16852:0907/203003.997:VERBOSE1:ad_rewards.cc(264)] Successfully reconciled ad rewards ``` Verified balance is shown correctly for the newly viewed ad ``` Response: [{"month":"2021-09","transactionCount":"1","balance":"0.01"}] ``` Ads history is shown as expected ![image](https://user-images.githubusercontent.com/38657976/132368209-1d16f80c-8f46-4310-be7e-40f8add91c58.png)

Test Failed:

Brave   1.29.77 Chromium: 93.0.4577.63 (Official Build) (x86_64)
Revision    ff5c0da2ec0adeaed5550e6c7e98417dac77d98a-refs/branch-heads/4577@{#1135}
OS  macOS Version 10.15.7 (Build 19H1323)

Before rotation

Got catalog with following issuers: ``` [40501:775:0903/141037.121897:VERBOSE1:ad_server.cc(85)] Successfully fetched catalog [40501:775:0903/141037.121996:VERBOSE1:ad_server.cc(87)] Parsing catalog [40501:775:0903/141037.125577:VERBOSE3:bundle.cc(628)] Successfully saved creative new tab page ads state [40501:775:0903/141037.125732:VERBOSE1:confirmations.cc(61)] SetCatalogIssuers: [40501:775:0903/141037.125792:VERBOSE1:confirmations.cc(62)] Public key: cKo0rk1iS8Obgyni0X3RRoydDIGHsivTkfX/TM1Xl24= [40501:775:0903/141037.125832:VERBOSE1:confirmations.cc(63)] Issuers: [40501:775:0903/141037.125865:VERBOSE1:confirmations.cc(66)] Name: 0.01BAT [40501:775:0903/141037.125898:VERBOSE1:confirmations.cc(67)] Public key: JiwFR2EU/Adf1lgox+xqOVPuc6a/rxdy/LguFG5eaXg= [40501:775:0903/141037.125932:VERBOSE1:confirmations.cc(66)] Name: 0.25BAT [40501:775:0903/141037.125965:VERBOSE1:confirmations.cc(67)] Public key: YOIEGq4joK7rtkWdcNdNNGT5xlU/KIrri4AX19qwZW4= [40501:775:0903/141037.125998:VERBOSE1:confirmations.cc(66)] Name: 0.20BAT [40501:775:0903/141037.126030:VERBOSE1:confirmations.cc(67)] Public key: VihGXGoiQ5Fjxe4SrskIVMcmERa1LoAgvhFxxfLmNEI= [40501:775:0903/141037.126063:VERBOSE1:confirmations.cc(66)] Name: 0.15BAT [40501:775:0903/141037.126095:VERBOSE1:confirmations.cc(67)] Public key: iJcG3AkH1sgl+5YCZuo+4Q/7aeBOnYyntkIUXeMbDCs= [40501:775:0903/141037.126128:VERBOSE1:confirmations.cc(66)] Name: 0BAT [40501:775:0903/141037.126160:VERBOSE1:confirmations.cc(67)] Public key: lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8= [40501:775:0903/141037.126194:VERBOSE1:confirmations.cc(66)] Name: 0.025BAT [40501:775:0903/141037.126227:VERBOSE1:confirmations.cc(67)] Public key: CrQLMWmUuYog6Q93nScS8Lo1HHSex8WM2Qxij7qhjkQ= [40501:775:0903/141037.126260:VERBOSE1:confirmations.cc(66)] Name: 0.10BAT [40501:775:0903/141037.126292:VERBOSE1:confirmations.cc(67)] Public key: aDD4SJmIj2xwdA6D00K1dopTg90oOFpwd2iiK8bqqlQ= [40501:775:0903/141037.126324:VERBOSE1:confirmations.cc(66)] Name: 0.05BAT [40501:775:0903/141037.126356:VERBOSE1:confirmations.cc(67)] Public key: bPE1QE65mkIgytffeu7STOfly+x10BXCGuk5pVlOHQU= [40501:775:0903/141037.126389:VERBOSE1:confirmations.cc(66)] Name: 0.3BAT [40501:775:0903/141037.126421:VERBOSE1:confirmations.cc(67)] Public key: 6DBiZUS47m8eb5ohI2MiRaERLzS4DQgMp4nxPLKAenA= ``` Viewed some ads, made sure was paid for it ``` [40501:775:0903/141105.981922:VERBOSE1:text_classification_model.cc(93)] No text classification probabilities found for en-US locale [40501:775:0903/141105.982553:VERBOSE1:eligible_ad_notifications.cc(87)] Get eligible ads for parent-child segments: [40501:775:0903/141105.982600:VERBOSE1:eligible_ad_notifications.cc(89)] untargeted [40501:775:0903/141106.002584:VERBOSE2:ad_priority.h(32)] 22 ads with a priority of 1 in bucket 1 [40501:775:0903/141106.002882:VERBOSE1:ad_notification_serving.cc(126)] Found 22 eligible ads [40501:775:0903/141106.002924:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 484dcb20-9fc5-40b6-9c1a-3b0a3f4aa164 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 [40501:775:0903/141106.002958:VERBOSE9:client.cc(573)] Saving client state [40501:775:0903/141106.003101:VERBOSE9:ad_notifications.cc(381)] Saving ad notifications state [40501:775:0903/141106.003587:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid 484dcb20-9fc5-40b6-9c1a-3b0a3f4aa164 in 120 seconds [40501:775:0903/141106.003650:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 484dcb20-9fc5-40b6-9c1a-3b0a3f4aa164 and creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304 [40501:775:0903/141106.003726:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [40501:775:0903/141106.003794:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 484dcb20-9fc5-40b6-9c1a-3b0a3f4aa164 and creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304 [40501:775:0903/141106.003856:VERBOSE9:client.cc(573)] Saving client state [40501:775:0903/141106.003926:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304 [40501:775:0903/141106.004314:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [40501:775:0903/141106.004673:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [40501:775:0903/141106.004707:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [40501:775:0903/141106.004734:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [40501:775:0903/141106.004761:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b465fc1d-2fbd-4952-aaef-cefd8ff7636b/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiU3ZIRnRkNzFGc3ZzbzRJT2ZnRVpFKys0bnZmOWxhb3JEMUxJUm95V094cz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjRjZGE1Y2I3LWM0ZjgtNGNiYy04ODk4LTU4ZGUxMmVjZTMwNFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIm1hY29zXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiQ3M1OS9VVFNDQUlDZW9HaFk2S1lPb1pGd3FybzIwQ2NtbXdVaWpSU0FoR2tjd0QvT2UyMS9UOXZXT0w0QXEwL2lhQk9ZT25XZmVFWnVYOUNpMUJNRlE9PSIsInQiOiIwUzFIc0owVnh6dk9MaWdkeDZNcDBmenArVmx0WFllMXNPeXVrWVd2Wk5pVkVhcU1xWGUzZjY5dExoSFVSY1cxcW9iTkJnODcxNmlzdWMzNEJzWmQ3dz09In0= Content: {"blindedPaymentToken":"SvHFtd71Fsvso4IOfgEZE++4nvf9laorD1LIRoyWOxs=","buildChannel":"release","countryCode":"US","creativeInstanceId":"4cda5cb7-c4f8-4cbc-8898-58de12ece304","payload":{},"platform":"macos","studies":[],"type":"view"} Content Type: application/json Method: POST [40501:775:0903/141106.004818:VERBOSE7:redeem_unblinded_token.cc(70)] Headers: accept: application/json [40501:775:0903/141106.014709:VERBOSE9:client.cc(587)] Successfully saved client state [40501:775:0903/141106.021988:VERBOSE9:ad_notifications.cc(395)] Successfully saved ad notifications state [40501:775:0903/141106.023016:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [40501:775:0903/141106.025061:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [40501:775:0903/141106.032545:VERBOSE9:client.cc(587)] Successfully saved client state [40501:775:0903/141106.039698:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [40501:775:0903/141106.426151:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [40501:775:0903/141106.426262:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b465fc1d-2fbd-4952-aaef-cefd8ff7636b/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiU3ZIRnRkNzFGc3ZzbzRJT2ZnRVpFKys0bnZmOWxhb3JEMUxJUm95V094cz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjRjZGE1Y2I3LWM0ZjgtNGNiYy04ODk4LTU4ZGUxMmVjZTMwNFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIm1hY29zXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiQ3M1OS9VVFNDQUlDZW9HaFk2S1lPb1pGd3FybzIwQ2NtbXdVaWpSU0FoR2tjd0QvT2UyMS9UOXZXT0w0QXEwL2lhQk9ZT25XZmVFWnVYOUNpMUJNRlE9PSIsInQiOiIwUzFIc0owVnh6dk9MaWdkeDZNcDBmenArVmx0WFllMXNPeXVrWVd2Wk5pVkVhcU1xWGUzZjY5dExoSFVSY1cxcW9iTkJnODcxNmlzdWMzNEJzWmQ3dz09In0= Response Status Code: 201 Response: {"id":"b465fc1d-2fbd-4952-aaef-cefd8ff7636b","payload":{},"createdAt":"2021-09-03T18:11:06.316Z","type":"view","modifiedAt":"2021-09-03T18:11:06.316Z","creativeInstanceId":"4cda5cb7-c4f8-4cbc-8898-58de12ece304"} [40501:775:0903/141106.426503:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [40501:775:0903/141106.426553:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [40501:775:0903/141106.426676:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b465fc1d-2fbd-4952-aaef-cefd8ff7636b/paymentToken Method: GET [40501:775:0903/141106.426749:VERBOSE7:redeem_unblinded_token.cc(118)] Headers: [40501:775:0903/141106.555422:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [40501:775:0903/141106.555500:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/b465fc1d-2fbd-4952-aaef-cefd8ff7636b/paymentToken Response Status Code: 200 Response: {"id":"b465fc1d-2fbd-4952-aaef-cefd8ff7636b","createdAt":"2021-09-03T18:11:06.316Z","type":"view","modifiedAt":"2021-09-03T18:11:06.339Z","creativeInstanceId":"4cda5cb7-c4f8-4cbc-8898-58de12ece304","paymentToken":{"publicKey":"JiwFR2EU/Adf1lgox+xqOVPuc6a/rxdy/LguFG5eaXg=","batchProof":"b5UPlEWHTjt1umF4k2K+guofi5Rr6wy5DTXpuSGr4wUUFQM6M052Y0qqiGALShbNPRzdCSkFPc75QkIECnPqCw==","signedTokens":["pG2mo0kv3pk/Reqb5us2gmj9wySaA4GEvWTpFW4H0j8="]}} [40501:775:0903/141106.556256:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id b465fc1d-2fbd-4952-aaef-cefd8ff7636b, creative instance id 4cda5cb7-c4f8-4cbc-8898-58de12ece304 and view [40501:775:0903/141106.556326:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [40501:775:0903/141106.556814:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens ``` ``` [40501:775:0903/141754.995620:VERBOSE1:text_classification_model.cc(93)] No text classification probabilities found for en-US locale [40501:775:0903/141754.996372:VERBOSE1:eligible_ad_notifications.cc(87)] Get eligible ads for parent-child segments: [40501:775:0903/141754.996429:VERBOSE1:eligible_ad_notifications.cc(89)] untargeted [40501:775:0903/141755.010808:VERBOSE2:ad_priority.h(32)] 12 ads with a priority of 1 in bucket 1 [40501:775:0903/141755.011128:VERBOSE1:ad_notification_serving.cc(126)] Found 12 eligible ads [40501:775:0903/141755.011182:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: b0b9ff2c-bc50-487d-9256-417bb2a36730 creativeInstanceId: 7a49c681-76ee-48ee-a627-1bd80de82854 creativeSetId: e76b526f-79dd-4111-8778-ca7b194c66fa campaignId: dd64fb34-f683-45b3-b2ba-dd6e1715f48f advertiserId: dd3d043b-51ca-4c6c-8ddd-16afa165ce1b segment: untargeted title: Test Title 1 body: Test Body 1 targetUrl: https://www.brave.com/bar [40501:775:0903/141755.011225:VERBOSE9:client.cc(573)] Saving client state [40501:775:0903/141755.011422:VERBOSE9:ad_notifications.cc(381)] Saving ad notifications state [40501:775:0903/141755.011870:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid b0b9ff2c-bc50-487d-9256-417bb2a36730 in 120 seconds [40501:775:0903/141755.011950:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid b0b9ff2c-bc50-487d-9256-417bb2a36730 and creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 [40501:775:0903/141755.012040:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [40501:775:0903/141755.012115:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid b0b9ff2c-bc50-487d-9256-417bb2a36730 and creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 [40501:775:0903/141755.012191:VERBOSE9:client.cc(573)] Saving client state [40501:775:0903/141755.012248:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 [40501:775:0903/141755.012648:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [40501:775:0903/141755.013123:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [40501:775:0903/141755.013170:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [40501:775:0903/141755.013206:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [40501:775:0903/141755.013243:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/efa2bbcc-6924-4fd4-84a1-1c810e6020b0/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiTEFjYlhneCt4dWhwSmZHU2p5WURUMHBLeG9pMXFQNys0TzU0akZSNmNSUT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjdhNDljNjgxLTc2ZWUtNDhlZS1hNjI3LTFiZDgwZGU4Mjg1NFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIm1hY29zXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiQ0tpemE5Q2t3T1JlTm1LZjlDMVB5UVZVU0hmWDMxQzY0MHRZclFQelNqcHI0T3RjZ3hXTms2UVFUdlBtOERPcVZKQ20rS1lqRkJzWER2YUdwN2JiNWc9PSIsInQiOiJnc2VleFd0SFZEZkpwSzNVejVZM3BPWHNUenRUSG4vOXAyQzVWemhFVDZrbVVkekMwcE5xaVppNit3SGMvQWNIemcwRUNaS0s3V0RDYnJabHBBTUtaUT09In0= Content: {"blindedPaymentToken":"LAcbXgx+xuhpJfGSjyYDT0pKxoi1qP7+4O54jFR6cRQ=","buildChannel":"release","countryCode":"US","creativeInstanceId":"7a49c681-76ee-48ee-a627-1bd80de82854","payload":{},"platform":"macos","studies":[],"type":"view"} Content Type: application/json Method: POST [40501:775:0903/141755.013360:VERBOSE7:redeem_unblinded_token.cc(70)] Headers: accept: application/json [40501:775:0903/141755.021758:VERBOSE9:client.cc(587)] Successfully saved client state [40501:775:0903/141755.028826:VERBOSE9:ad_notifications.cc(395)] Successfully saved ad notifications state [40501:775:0903/141755.030355:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [40501:775:0903/141755.031555:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [40501:775:0903/141755.040867:VERBOSE9:client.cc(587)] Successfully saved client state [40501:775:0903/141755.053650:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [40501:775:0903/141755.283830:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [40501:775:0903/141755.283923:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/efa2bbcc-6924-4fd4-84a1-1c810e6020b0/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiTEFjYlhneCt4dWhwSmZHU2p5WURUMHBLeG9pMXFQNys0TzU0akZSNmNSUT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjdhNDljNjgxLTc2ZWUtNDhlZS1hNjI3LTFiZDgwZGU4Mjg1NFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIm1hY29zXCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiQ0tpemE5Q2t3T1JlTm1LZjlDMVB5UVZVU0hmWDMxQzY0MHRZclFQelNqcHI0T3RjZ3hXTms2UVFUdlBtOERPcVZKQ20rS1lqRkJzWER2YUdwN2JiNWc9PSIsInQiOiJnc2VleFd0SFZEZkpwSzNVejVZM3BPWHNUenRUSG4vOXAyQzVWemhFVDZrbVVkekMwcE5xaVppNit3SGMvQWNIemcwRUNaS0s3V0RDYnJabHBBTUtaUT09In0= Response Status Code: 201 Response: {"id":"efa2bbcc-6924-4fd4-84a1-1c810e6020b0","payload":{},"createdAt":"2021-09-03T18:11:58.188Z","type":"view","modifiedAt":"2021-09-03T18:11:58.188Z","creativeInstanceId":"7a49c681-76ee-48ee-a627-1bd80de82854"} [40501:775:0903/141755.284153:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [40501:775:0903/141755.284194:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [40501:775:0903/141755.284353:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/efa2bbcc-6924-4fd4-84a1-1c810e6020b0/paymentToken Method: GET [40501:775:0903/141755.284408:VERBOSE7:redeem_unblinded_token.cc(118)] Headers: [40501:775:0903/141755.437241:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [40501:775:0903/141755.437337:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/efa2bbcc-6924-4fd4-84a1-1c810e6020b0/paymentToken Response Status Code: 200 Response: {"id":"efa2bbcc-6924-4fd4-84a1-1c810e6020b0","createdAt":"2021-09-03T18:11:58.188Z","type":"view","modifiedAt":"2021-09-03T18:11:58.217Z","creativeInstanceId":"7a49c681-76ee-48ee-a627-1bd80de82854","paymentToken":{"publicKey":"6DBiZUS47m8eb5ohI2MiRaERLzS4DQgMp4nxPLKAenA=","batchProof":"x0lcjhn5JzI0zT1fVQxtjZBJtRLoPHtf1NI8pnbYPA3k4EYq2Y0i3FjazJVGmRgJq3LnSYNZGuXatELvcDP0AQ==","signedTokens":["QGOaAvKGd6ww6dsE9FC5qEEkbyVSMusPJOdytj6VIgE="]}} [40501:775:0903/141755.438364:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id efa2bbcc-6924-4fd4-84a1-1c810e6020b0, creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 and view [40501:775:0903/141755.438456:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [40501:775:0903/141755.439038:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.3 BAT, you now have 3 unblinded payment tokens ``` Verified ads are listed in ads history SCREENSHOT

After rotation

Verified catalog with new issuers was downloaded ``` [44293:775:0907/085825.724688:VERBOSE1:ad_server.cc(85)] Successfully fetched catalog [44293:775:0907/085825.724740:VERBOSE1:ad_server.cc(87)] Parsing catalog [44293:775:0907/085825.729700:VERBOSE3:bundle.cc(628)] Successfully saved creative new tab page ads state [44293:775:0907/085825.729857:VERBOSE1:confirmations.cc(61)] SetCatalogIssuers: [44293:775:0907/085825.729895:VERBOSE1:confirmations.cc(62)] Public key: cKo0rk1iS8Obgyni0X3RRoydDIGHsivTkfX/TM1Xl24= [44293:775:0907/085825.729928:VERBOSE1:confirmations.cc(63)] Issuers: [44293:775:0907/085825.729959:VERBOSE1:confirmations.cc(66)] Name: 0.025BAT [44293:775:0907/085825.729990:VERBOSE1:confirmations.cc(67)] Public key: OAhrcTws9LZ15PezS7diPXwElMMgyNuVfFwmOyJyDhM= [44293:775:0907/085825.730021:VERBOSE1:confirmations.cc(66)] Name: 0.10BAT [44293:775:0907/085825.730052:VERBOSE1:confirmations.cc(67)] Public key: gJAuDO7BXkLmlFoxQnmblaIxxovZBsHngBkR+0dJ8hQ= [44293:775:0907/085825.730089:VERBOSE1:confirmations.cc(66)] Name: 0.25BAT [44293:775:0907/085825.730142:VERBOSE1:confirmations.cc(67)] Public key: AjgaKCHwdzVmrQVl8+afkEabY4Lu7H3UEPo9jraBWiU= [44293:775:0907/085825.730184:VERBOSE1:confirmations.cc(66)] Name: 0.20BAT [44293:775:0907/085825.730216:VERBOSE1:confirmations.cc(67)] Public key: 3t9vPWOt5lN60Zjsmr76fNDLfOzxYIq3vKjWdM9X/Bk= [44293:775:0907/085825.730246:VERBOSE1:confirmations.cc(66)] Name: 0.05BAT [44293:775:0907/085825.730276:VERBOSE1:confirmations.cc(67)] Public key: ooqYLwDv/vLWeuGX+I1/D8mR3LeN2ioKCEHSBnlHkmw= [44293:775:0907/085825.730307:VERBOSE1:confirmations.cc(66)] Name: 0.01BAT [44293:775:0907/085825.730337:VERBOSE1:confirmations.cc(67)] Public key: GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU= [44293:775:0907/085825.730368:VERBOSE1:confirmations.cc(66)] Name: 0.3BAT [44293:775:0907/085825.730398:VERBOSE1:confirmations.cc(67)] Public key: lKTtvRtX6wzVJ6yinrSwL4ZOUFFzq0fgWl+w8uV68yk= [44293:775:0907/085825.730428:VERBOSE1:confirmations.cc(66)] Name: 0BAT [44293:775:0907/085825.730459:VERBOSE1:confirmations.cc(67)] Public key: VMKSj4AeyPwAF4AuS7AN+1stD/ZN0R9tW9WEtXXN6HM= [44293:775:0907/085825.730489:VERBOSE1:confirmations.cc(66)] Name: 0.15BAT [44293:775:0907/085825.730519:VERBOSE1:confirmations.cc(67)] Public key: UHrWoG29ze91jRE4F0sJJRV6aFAgHndO8KYqHRKPbG4= ``` `RedeemUnblindedPaymentTokens` was successful after rotation Verified `RedeemUnblindedPaymentTokens` used old issuers keys ``` [44293:775:0907/085923.914607:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [44293:775:0907/085923.914792:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [44293:775:0907/085923.915174:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Content: {"payload":"{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}","paymentCredentials":[{"credential":{"signature":"WdmLOlHjn+S+l6/INlMoodnWPG0Th5Ad4AwEoVAnSxxYgGIwe0kcnZuCet/dt+1QrOAaKgtahbxqSZK9MaA0rw==","t":"d1lUlqtWSAQUbgOCIpK3mhW/aEnwzkGtQFjRnM+QwpMlxUb6cOX/rREXnve2PYlQF1hHaTPO9QcUsyMz5+LUuQ=="},"publicKey":"JiwFR2EU/Adf1lgox+xqOVPuc6a/rxdy/LguFG5eaXg="},{"credential":{"signature":"vmcIdMO+6cPHmWiYfovqFdhOBTigbtEL8Pz6RdEsg8vSdkj6yZBm4penJ4MXVsDbGBeBCBal4ZIZmT20lfg4tw==","t":"IUP8dRhlx4yRJdSBHJ5qdsfrETw9KitBIIYzYPXpqkpvSx+jd9tcmuPRMbbJrBjrLhMJpLHiZI/Gy+4bJFsuHA=="},"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8="},{"credential":{"signature":"vhtwxYyR59Fkae90M0xrG+DULuJsLLt0S7VZooqGrHNjfP9sHWrjtjzv0eMGuwpGyq/1T4XJjWLgz6HloIOBQg==","t":"zPtnTJYMFSjKD6x8lbwNysE+Ujdjpo3mni8xmg7QHV7Q1c+IpwgydZyW64o5qhNBZWuO7J6v4TGMCgiB1Cz1RQ=="},"publicKey":"6DBiZUS47m8eb5ohI2MiRaERLzS4DQgMp4nxPLKAenA="},{"credential":{"signature":"EbsF4Wu0t0qjVAPUesy4TUOR/cpE9+IYV7IDBRuJTQgns33/JH+1q9/DFAdQLEBDxIZx5iMTfdLzDIZFg5ImSQ==","t":"E9j63C4jCNi0sJ3kDbSNrVB4txB9lGZpRFARcvcL9XSXJ06iKp7DUiZgqlvYqy81JBDTruxVvMU2hVfc+WVaLg=="},"publicKey":"lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8="}]} Content Type: application/json Method: PUT [44293:775:0907/085923.915371:VERBOSE7:redeem_unblinded_payment_tokens.cc(99)] Headers: accept: application/json [44293:775:0907/085924.593740:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [44293:775:0907/085924.593846:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Response Status Code: 200 Response: {"status":"ok"} [44293:775:0907/085924.593983:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [44293:775:0907/085924.594686:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [44293:775:0907/085924.595174:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [44293:775:0907/085924.595261:VERBOSE1:ad_rewards.cc(227)] GetPayments [44293:775:0907/085924.595316:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [44293:775:0907/085924.597079:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Method: GET [44293:775:0907/085924.597153:VERBOSE7:ad_rewards.cc(233)] Headers: digest: SHA-256=RBNvo1WzZ4oRRq0W9+hknpT7T8If536DEMBg9hyq/4o= signature: keyId="primary",algorithm="ed25519",headers="digest",signature="/njbcyv6Ux0LDLiwMHZM97EVNYt+0rkRli1WUTj+iwdQT8g4b2LDxVwgIB5MvSA0elfd5nLhLQsVHs1yzZpzAg==" accept: application/json [44293:775:0907/085924.597367:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [44293:775:0907/085924.597965:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 13 minutes, 33 seconds at 9:12 AM [44293:775:0907/085924.611426:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [44293:775:0907/085924.620295:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [44293:775:0907/085925.330125:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [44293:775:0907/085925.330243:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"0","balance":"0"}] ``` Verified able to view an ad and be paid for it ``` [44293:775:0907/090308.166530:VERBOSE1:text_classification_model.cc(93)] No text classification probabilities found for en-US locale [44293:775:0907/090308.168355:VERBOSE1:eligible_ad_notifications.cc(87)] Get eligible ads for parent-child segments: [44293:775:0907/090308.168419:VERBOSE1:eligible_ad_notifications.cc(89)] untargeted [44293:775:0907/090308.180282:VERBOSE2:ad_priority.h(32)] 8 ads with a priority of 1 in bucket 1 [44293:775:0907/090308.180607:VERBOSE1:ad_notification_serving.cc(126)] Found 8 eligible ads [44293:775:0907/090308.180653:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: d0f768fb-06b9-4bba-94a0-1b283684dcf5 creativeInstanceId: de8274a9-716b-4340-afa1-9bfa52289077 creativeSetId: fc4af118-3ef7-41d6-afe9-9db811a05fb3 campaignId: 8fb041ed-e2da-4463-be1f-2b3d39666f6f advertiserId: 93130af3-2def-4ecb-b836-b3772e73b3c9 segment: untargeted title: Verifiable Ad Conversion - DOM body: VAC - Get VAC ID from DOM targetUrl: https://brave.com?testCase=VAC-DOM [44293:775:0907/090308.180695:VERBOSE9:client.cc(573)] Saving client state [44293:775:0907/090308.181189:VERBOSE9:ad_notifications.cc(381)] Saving ad notifications state [44293:775:0907/090308.184435:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid d0f768fb-06b9-4bba-94a0-1b283684dcf5 in 120 seconds [44293:775:0907/090308.184542:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid d0f768fb-06b9-4bba-94a0-1b283684dcf5 and creative instance id de8274a9-716b-4340-afa1-9bfa52289077 [44293:775:0907/090308.184631:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [44293:775:0907/090308.184673:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid d0f768fb-06b9-4bba-94a0-1b283684dcf5 and creative instance id de8274a9-716b-4340-afa1-9bfa52289077 [44293:775:0907/090308.184746:VERBOSE9:client.cc(573)] Saving client state [44293:775:0907/090308.184807:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id de8274a9-716b-4340-afa1-9bfa52289077 [44293:775:0907/090308.185650:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [44293:775:0907/090308.186358:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [44293:775:0907/090308.186407:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [44293:775:0907/090308.186442:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [44293:775:0907/090308.186478:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/4025e712-fc3a-4607-8e1f-237562ca2c8f/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiNG1nQ2d1bzNrNnExOUN5Y0pwVGdTQnJkL04wdWhpdGhoVTNOYWJBRDNoMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcImRlODI3NGE5LTcxNmItNDM0MC1hZmExLTliZmE1MjI4OTA3N1wiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIm1hY29zXCIsXCJzdHVkaWVzXCI6W3tcImdyb3VwXCI6XCJFeGNsdWRlQWRJZldpdGhpblRpbWVXaW5kb3c9MGhcIixcIm5hbWVcIjpcIkJyYXZlQWRzLkZyZXF1ZW5jeUNhcHBpbmdTdHVkeVwifSx7XCJncm91cFwiOlwiVHJpZ2dlcnM9RU1QVFkvVGhyZXNob2xkPTAuMC9JZGxlVGltZVRocmVzaG9sZD01XCIsXCJuYW1lXCI6XCJCcmF2ZUFkcy5Vc2VyQWN0aXZpdHlTdHVkeVwifV0sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiRjB1Sm11TUdoMS9jM3MrVVQxTWJQM1FGY0FnQ2dxLzhnYUsxUGhTbFRiMWVMeW9zQ0thbnhaRCsyZ05YMmV5ZVJpVDQwT254STBWNC9hL09FeTkwQVE9PSIsInQiOiJIS0p3RWlMS1hQUCtVaVlLTU1jWEN0bnpuVC9sS3hOSW9YNXlLZzFmMks2MTlaNWU2QUI2MHVhQVVXQTRuWGZJaWw3R05rL3d6SjdHc2pJTVdlZlZjdz09In0= Content: {"blindedPaymentToken":"4mgCguo3k6q19CycJpTgSBrd/N0uhithhU3NabAD3h0=","buildChannel":"release","countryCode":"US","creativeInstanceId":"de8274a9-716b-4340-afa1-9bfa52289077","payload":{},"platform":"macos","studies":[{"group":"ExcludeAdIfWithinTimeWindow=0h","name":"BraveAds.FrequencyCappingStudy"},{"group":"Triggers=EMPTY/Threshold=0.0/IdleTimeThreshold=5","name":"BraveAds.UserActivityStudy"}],"type":"view"} Content Type: application/json Method: POST [44293:775:0907/090308.186583:VERBOSE7:redeem_unblinded_token.cc(70)] Headers: accept: application/json [44293:775:0907/090308.186761:VERBOSE9:client.cc(587)] Successfully saved client state [44293:775:0907/090308.194057:VERBOSE9:ad_notifications.cc(395)] Successfully saved ad notifications state [44293:775:0907/090308.197740:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [44293:775:0907/090308.199089:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [44293:775:0907/090308.207113:VERBOSE9:client.cc(587)] Successfully saved client state [44293:775:0907/090308.215012:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [44293:775:0907/090308.667590:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [44293:775:0907/090308.667678:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/4025e712-fc3a-4607-8e1f-237562ca2c8f/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiNG1nQ2d1bzNrNnExOUN5Y0pwVGdTQnJkL04wdWhpdGhoVTNOYWJBRDNoMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcImRlODI3NGE5LTcxNmItNDM0MC1hZmExLTliZmE1MjI4OTA3N1wiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcIm1hY29zXCIsXCJzdHVkaWVzXCI6W3tcImdyb3VwXCI6XCJFeGNsdWRlQWRJZldpdGhpblRpbWVXaW5kb3c9MGhcIixcIm5hbWVcIjpcIkJyYXZlQWRzLkZyZXF1ZW5jeUNhcHBpbmdTdHVkeVwifSx7XCJncm91cFwiOlwiVHJpZ2dlcnM9RU1QVFkvVGhyZXNob2xkPTAuMC9JZGxlVGltZVRocmVzaG9sZD01XCIsXCJuYW1lXCI6XCJCcmF2ZUFkcy5Vc2VyQWN0aXZpdHlTdHVkeVwifV0sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiRjB1Sm11TUdoMS9jM3MrVVQxTWJQM1FGY0FnQ2dxLzhnYUsxUGhTbFRiMWVMeW9zQ0thbnhaRCsyZ05YMmV5ZVJpVDQwT254STBWNC9hL09FeTkwQVE9PSIsInQiOiJIS0p3RWlMS1hQUCtVaVlLTU1jWEN0bnpuVC9sS3hOSW9YNXlLZzFmMks2MTlaNWU2QUI2MHVhQVVXQTRuWGZJaWw3R05rL3d6SjdHc2pJTVdlZlZjdz09In0= Response Status Code: 201 Response: {"id":"4025e712-fc3a-4607-8e1f-237562ca2c8f","payload":{},"createdAt":"2021-09-07T13:03:08.406Z","type":"view","modifiedAt":"2021-09-07T13:03:08.406Z","creativeInstanceId":"de8274a9-716b-4340-afa1-9bfa52289077"} [44293:775:0907/090308.667912:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [44293:775:0907/090308.667954:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [44293:775:0907/090308.668130:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/4025e712-fc3a-4607-8e1f-237562ca2c8f/paymentToken Method: GET [44293:775:0907/090308.668188:VERBOSE7:redeem_unblinded_token.cc(118)] Headers: [44293:775:0907/090309.282229:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [44293:775:0907/090309.282328:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/4025e712-fc3a-4607-8e1f-237562ca2c8f/paymentToken Response Status Code: 200 Response: {"id":"4025e712-fc3a-4607-8e1f-237562ca2c8f","createdAt":"2021-09-07T13:03:08.406Z","type":"view","modifiedAt":"2021-09-07T13:03:08.426Z","creativeInstanceId":"de8274a9-716b-4340-afa1-9bfa52289077","paymentToken":{"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU=","batchProof":"H9BA97LmukwO135CBTOhzHJSI2eN1BAe7Su+tdGEDAxfTsenPSzDB9UnZTRY3ChN5145oPslRchJ5uNAe8M3Cw==","signedTokens":["nhxcOksTiUBLNwykbfZ3KHOAvExXjorcvu5gAblLYSk="]}} [44293:775:0907/090309.283764:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id 4025e712-fc3a-4607-8e1f-237562ca2c8f, creative instance id de8274a9-716b-4340-afa1-9bfa52289077 and view [44293:775:0907/090309.283835:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [44293:775:0907/090309.290446:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens [44293:775:0907/090309.290581:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state ``` Verified `RedeemUnblindedPaymentTokens` was successful with new ad Verified new issuers are used ``` [44293:775:0907/091257.600999:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [44293:775:0907/091257.601191:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [44293:775:0907/091257.601293:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Content: {"payload":"{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}","paymentCredentials":[{"credential":{"signature":"UF7fzb8xgGnMy+CjUuMSJG3n87yh6dii+QBvPNYrRrnHX4wqcm0u5kYvG9BI12MR8uDaGxxnl3R4uzDHORmnKA==","t":"BFTov6F0HMddGpM+N0l9hBX5Xc9HeS/+F8+AiuH+KYC/qPDVhNvrQDs0vzJW+QXLRt7uARtrfHcHzW9TZxGGOQ=="},"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU="}]} Content Type: application/json Method: PUT [44293:775:0907/091257.601390:VERBOSE7:redeem_unblinded_payment_tokens.cc(99)] Headers: accept: application/json [44293:775:0907/091258.056083:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [44293:775:0907/091258.056185:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Response Status Code: 200 Response: {"status":"ok"} [44293:775:0907/091258.056243:VERBOSE7:redeem_unblinded_payment_tokens.cc(112)] Headers: [44293:775:0907/091258.056311:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [44293:775:0907/091258.056946:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [44293:775:0907/091258.057380:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [44293:775:0907/091258.057478:VERBOSE1:ad_rewards.cc(227)] GetPayments [44293:775:0907/091258.057527:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [44293:775:0907/091258.059561:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Method: GET [44293:775:0907/091258.059638:VERBOSE7:ad_rewards.cc(233)] Headers: digest: SHA-256=RBNvo1WzZ4oRRq0W9+hknpT7T8If536DEMBg9hyq/4o= signature: keyId="primary",algorithm="ed25519",headers="digest",signature="/njbcyv6Ux0LDLiwMHZM97EVNYt+0rkRli1WUTj+iwdQT8g4b2LDxVwgIB5MvSA0elfd5nLhLQsVHs1yzZpzAg==" accept: application/json [44293:775:0907/091258.059886:VERBOSE9:confirmations_state.cc(103)] Saving confirmations state [44293:775:0907/091258.060645:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 21 minutes, 21 seconds at 9:34 AM [44293:775:0907/091258.061351:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [44293:775:0907/091258.078143:VERBOSE9:confirmations_state.cc(113)] Successfully saved confirmations state [44293:775:0907/091258.481799:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [44293:775:0907/091258.481898:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"1","balance":"0.01"}] ```

Note, in the After Rotation test, the first RedeemUnblindedPaymentTokens was successful and it used old issuers keys as expected, but OnGetPayments was incorrect:

[44293:775:0907/085925.330125:VERBOSE1:ad_rewards.cc(241)] OnGetPayments
[44293:775:0907/085925.330243:VERBOSE6:ad_rewards.cc(243)] URL Response:
  URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
  Response Status Code: 200
  Response: [{"month":"2021-09","transactionCount":"0","balance":"0"}]

The "transactionCount" should be "2" in the above and the "balance" should be "0.31".

Then, after viewing a new ad, the second RedeemUnblindedPaymentTokens was successful and it used new issuers as expected. OnGetPayments was better, but still not correct:

[44293:775:0907/091258.481799:VERBOSE1:ad_rewards.cc(241)] OnGetPayments
[44293:775:0907/091258.481898:VERBOSE6:ad_rewards.cc(243)] URL Response:
  URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
  Response Status Code: 200
  Response: [{"month":"2021-09","transactionCount":"1","balance":"0.01"}]

You can see in the above I have values for "transactionCount" and "balance", but "transactionCount" should be 3 and "balance" should be "0.32".

Tokens are redeemed, but transactionCount and balance are not correct, so the test fails.

saberistic commented 3 years ago

Looking up aurora following payments are recorded for the wallet

ads=> select * from payment where "paymentId" = 'ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e';
-[ RECORD 1 ]+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id           | a085c9db-ce1e-5356-9711-72c68f597717
paymentId    | ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
credential   | {"publicKey": "GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU=", "credential": {"t": "BFTov6F0HMddGpM+N0l9hBX5Xc9HeS/+F8+AiuH+KYC/qPDVhNvrQDs0vzJW+QXLRt7uARtrfHcHzW9TZxGGOQ==", "payload": "{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}", "signature": "UF7fzb8xgGnMy+CjUuMSJG3n87yh6dii+QBvPNYrRrnHX4wqcm0u5kYvG9BI12MR8uDaGxxnl3R4uzDHORmnKA=="}}
state        | pending
comment      | 
modifiedAt   | 2021-09-07 13:12:58.010612
createdAt    | 2021-09-07 13:12:58.010612
os           | macos
country      | US
platform     | 
buildChannel | 
tags         | {"CV": "93.0.4577.63", "via": 100, "vpn": 0, "fraud": [], "datacenter": 0, "rate-limited": 0}
flagged      | 
cohort       | 
-[ RECORD 2 ]+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id           | f43978e2-77fa-569e-8565-bbec5c0bbd86
paymentId    | ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
credential   | {"publicKey": "lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8=", "credential": {"t": "E9j63C4jCNi0sJ3kDbSNrVB4txB9lGZpRFARcvcL9XSXJ06iKp7DUiZgqlvYqy81JBDTruxVvMU2hVfc+WVaLg==", "payload": "{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}", "signature": "EbsF4Wu0t0qjVAPUesy4TUOR/cpE9+IYV7IDBRuJTQgns33/JH+1q9/DFAdQLEBDxIZx5iMTfdLzDIZFg5ImSQ=="}}
state        | pending
comment      | 
modifiedAt   | 2021-09-07 12:59:24.551206
createdAt    | 2021-09-07 12:59:24.551206
os           | macos
country      | US
platform     | 
buildChannel | 
tags         | {"CV": "93.0.4577.63", "via": 100, "vpn": 0, "fraud": [], "datacenter": 0, "rate-limited": 0}
flagged      | 
cohort       | 
-[ RECORD 3 ]+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id           | cac4a87b-848a-577f-97f8-988393f65d47
paymentId    | ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
credential   | {"publicKey": "6DBiZUS47m8eb5ohI2MiRaERLzS4DQgMp4nxPLKAenA=", "credential": {"t": "zPtnTJYMFSjKD6x8lbwNysE+Ujdjpo3mni8xmg7QHV7Q1c+IpwgydZyW64o5qhNBZWuO7J6v4TGMCgiB1Cz1RQ==", "payload": "{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}", "signature": "vhtwxYyR59Fkae90M0xrG+DULuJsLLt0S7VZooqGrHNjfP9sHWrjtjzv0eMGuwpGyq/1T4XJjWLgz6HloIOBQg=="}}
state        | pending
comment      | 
modifiedAt   | 2021-09-07 12:59:24.546662
createdAt    | 2021-09-07 12:59:24.546662
os           | macos
country      | US
platform     | 
buildChannel | 
tags         | {"CV": "93.0.4577.63", "via": 100, "vpn": 0, "fraud": [], "datacenter": 0, "rate-limited": 0}
flagged      | 
cohort       | 
-[ RECORD 4 ]+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id           | c6f1f2a8-bee6-53f9-8339-8cfe2a6cb172
paymentId    | ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
credential   | {"publicKey": "lLO5tErGoTK0askrALab6pKGAnBHqELSyw/evqZRwH8=", "credential": {"t": "IUP8dRhlx4yRJdSBHJ5qdsfrETw9KitBIIYzYPXpqkpvSx+jd9tcmuPRMbbJrBjrLhMJpLHiZI/Gy+4bJFsuHA==", "payload": "{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}", "signature": "vmcIdMO+6cPHmWiYfovqFdhOBTigbtEL8Pz6RdEsg8vSdkj6yZBm4penJ4MXVsDbGBeBCBal4ZIZmT20lfg4tw=="}}
state        | pending
comment      | 
modifiedAt   | 2021-09-07 12:59:24.541918
createdAt    | 2021-09-07 12:59:24.541918
os           | macos
country      | US
platform     | 
buildChannel | 
tags         | {"CV": "93.0.4577.63", "via": 100, "vpn": 0, "fraud": [], "datacenter": 0, "rate-limited": 0}
flagged      | 
cohort       | 
-[ RECORD 5 ]+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id           | f336db9c-a54c-5231-8d31-d7368bfb97cd
paymentId    | ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e
credential   | {"publicKey": "JiwFR2EU/Adf1lgox+xqOVPuc6a/rxdy/LguFG5eaXg=", "credential": {"t": "d1lUlqtWSAQUbgOCIpK3mhW/aEnwzkGtQFjRnM+QwpMlxUb6cOX/rREXnve2PYlQF1hHaTPO9QcUsyMz5+LUuQ==", "payload": "{\"paymentId\":\"ffd9a2ca-2fad-4044-bd0f-d0440cce5e9e\"}", "signature": "WdmLOlHjn+S+l6/INlMoodnWPG0Th5Ad4AwEoVAnSxxYgGIwe0kcnZuCet/dt+1QrOAaKgtahbxqSZK9MaA0rw=="}}
state        | pending
comment      | 
modifiedAt   | 2021-09-07 12:59:24.53448
createdAt    | 2021-09-07 12:59:24.53448
os           | macos
country      | US
platform     | 
buildChannel | 
tags         | {"CV": "93.0.4577.63", "via": 100, "vpn": 0, "fraud": [], "datacenter": 0, "rate-limited": 0}
flagged      | 
cohort       | 

Looking into above, I wonder why value is missing from credentials column, might be out of date deploy in staging. I also identified an issue on server side that created a PR for here https://github.com/brave/ads-serve/pull/1695

btlechowski commented 3 years ago

Verification passed on

Brave 1.29.81 Chromium: 93.0.4577.82 (Official Build) (64-bit)
Revision e3a25d9b9e2d0b728e045ec87c0aa4942aa46e4e-refs/branch-heads/4577@{#1237}
OS Ubuntu 18.04 LTS

Verified test plan from https://github.com/brave/qa-resources/issues/362#issuecomment-909533582

Not redeemed payment tokens

Before rotation

Ads were shown and user was paid for them: ``` [16239:16239:0914/160232.520076:VERBOSE1:text_classification_model.cc(93)] No text classification probabilities found for en_US.UTF-8 locale [16239:16239:0914/160232.526295:VERBOSE1:eligible_inline_content_ads.cc(89)] Get eligible ads for parent-child segments: [16239:16239:0914/160232.526350:VERBOSE1:eligible_inline_content_ads.cc(91)] untargeted [16239:16239:0914/160232.543691:VERBOSE2:ad_priority.h(32)] 1 ads with a priority of 1 in bucket 1 [16239:16239:0914/160232.543739:VERBOSE1:inline_content_ad_serving.cc(83)] Found 1 eligible ads [16239:16239:0914/160232.543783:VERBOSE1:inline_content_ad_serving.cc(108)] Serving inline content ad: uuid: 41c6dd01-1452-46b6-a677-f9d3ce28034a creativeInstanceId: 033a95ca-963b-460c-b203-8181346bd41c creativeSetId: 6c875e23-00ea-4f1b-805b-5d52559f96da campaignId: 8a5ca6f0-f919-461b-8bf2-4848e34ab616 advertiserId: aa1d1cdb-ec45-42d4-86d0-ea353e1babd4 segment: untargeted title: Makita LF1000 Flip Over Saw description: Makita imageUrl: https://pcdn.bravesoftware.com/brave-ads/image-1.jpg.pad dimensions: 900x750 ctaText: Learn more targetUrl: https://www.powertools2u.co.uk/makita-lf1000-flip-over-sawo [16239:16239:0914/160232.549066:VERBOSE3:inline_content_ad_event_served.cc(24)] Served inline content ad with uuid 41c6dd01-1452-46b6-a677-f9d3ce28034a and creative instance id 033a95ca-963b-460c-b203-8181346bd41c [16239:16239:0914/160232.577548:VERBOSE1:inline_content_ad_event_served.cc(32)] Successfully logged inline content ad served event [16239:16239:0914/160236.916932:VERBOSE3:inline_content_ad_event_viewed.cc(25)] Viewed inline content ad with uuid 41c6dd01-1452-46b6-a677-f9d3ce28034a and creative instance id 033a95ca-963b-460c-b203-8181346bd41c [16239:16239:0914/160236.917392:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 033a95ca-963b-460c-b203-8181346bd41c [16239:16239:0914/160236.920355:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [16239:16239:0914/160236.923152:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [16239:16239:0914/160236.923447:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [16239:16239:0914/160236.925638:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/a956090a-add2-4ccf-a7b3-dd70592f4e3e/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiU0s4d0dJUHdZUmVUbUc3YVk2WmhIdGRzVzJkZzRIcFVUNTJlamlMY2VYZz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjAzM2E5NWNhLTk2M2ItNDYwYy1iMjAzLTgxODEzNDZiZDQxY1wiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiNTVqV2lkamdBTnJTT1c2WWFGRHEzL2NoOGxteFJoazk1OC8yM3pUSlEyaE5vNjloeUduUFRBWGRWRzVReFZKQ0E0aGNQRlpCeUp3a3BvSGtDQ25EZEE9PSIsInQiOiIzU01OLzhzNVZ6T01BTjFzWWF4bXpPS2xSK1BqUmNHVzJnRHhIbUduYzZCUW5UR01NNWFjcmVtV2EwM1BtYm9BQ2xZdU9vYTFFL0YxUkFFTXVqQi9WUT09In0= Content: {"blindedPaymentToken":"SK8wGIPwYReTmG7aY6ZhHtdsW2dg4HpUT52ejiLceXg=","buildChannel":"release","countryCode":"US","creativeInstanceId":"033a95ca-963b-460c-b203-8181346bd41c","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: POST [16239:16239:0914/160236.940625:VERBOSE6:inline_content_ad_event_viewed.cc(33)] Successfully logged inline content ad viewed event [16239:16239:0914/160237.394568:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [16239:16239:0914/160237.397805:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/a956090a-add2-4ccf-a7b3-dd70592f4e3e/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiU0s4d0dJUHdZUmVUbUc3YVk2WmhIdGRzVzJkZzRIcFVUNTJlamlMY2VYZz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjAzM2E5NWNhLTk2M2ItNDYwYy1iMjAzLTgxODEzNDZiZDQxY1wiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiNTVqV2lkamdBTnJTT1c2WWFGRHEzL2NoOGxteFJoazk1OC8yM3pUSlEyaE5vNjloeUduUFRBWGRWRzVReFZKQ0E0aGNQRlpCeUp3a3BvSGtDQ25EZEE9PSIsInQiOiIzU01OLzhzNVZ6T01BTjFzWWF4bXpPS2xSK1BqUmNHVzJnRHhIbUduYzZCUW5UR01NNWFjcmVtV2EwM1BtYm9BQ2xZdU9vYTFFL0YxUkFFTXVqQi9WUT09In0= Response Status Code: 201 Response: {"id":"a956090a-add2-4ccf-a7b3-dd70592f4e3e","payload":{},"createdAt":"2021-09-14T14:02:35.870Z","type":"view","modifiedAt":"2021-09-14T14:02:35.870Z","creativeInstanceId":"033a95ca-963b-460c-b203-8181346bd41c"} [16239:16239:0914/160237.399356:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [16239:16239:0914/160237.399588:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [16239:16239:0914/160237.400520:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/a956090a-add2-4ccf-a7b3-dd70592f4e3e/paymentToken Method: GET [16239:16239:0914/160237.688055:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [16239:16239:0914/160237.688685:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/a956090a-add2-4ccf-a7b3-dd70592f4e3e/paymentToken Response Status Code: 200 Response: {"id":"a956090a-add2-4ccf-a7b3-dd70592f4e3e","createdAt":"2021-09-14T14:02:35.870Z","type":"view","modifiedAt":"2021-09-14T14:02:35.905Z","creativeInstanceId":"033a95ca-963b-460c-b203-8181346bd41c","paymentToken":{"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU=","batchProof":"j56tgI7JETzFbK9IrCpUbR2B/iaYYieJz06ADF4PYgDw6oDBTmk8y6kIZDLW7tIHMNT9j+POfAYEmreTrreCCQ==","signedTokens":["fHnRgx/1lbHkr0LRU5ca8Vd1Qf+S7rF0NOXf4YIPH3Q="]}} [16239:16239:0914/160237.689025:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id a956090a-add2-4ccf-a7b3-dd70592f4e3e, creative instance id 033a95ca-963b-460c-b203-8181346bd41c and view [16239:16239:0914/160237.689279:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens [16239:16239:0914/160852.717615:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 9507456f-fae7-404f-9d0e-e03b8176d911 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 [16239:16239:0914/160852.723339:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid 9507456f-fae7-404f-9d0e-e03b8176d911 in 120 seconds [16239:16239:0914/160852.723789:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 9507456f-fae7-404f-9d0e-e03b8176d911 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed [16239:16239:0914/160852.724575:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [16239:16239:0914/160852.728918:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 9507456f-fae7-404f-9d0e-e03b8176d911 and creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed [16239:16239:0914/160852.731280:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed [16239:16239:0914/160852.739429:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [16239:16239:0914/160852.739909:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [16239:16239:0914/160852.740056:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [16239:16239:0914/160852.740187:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/2d113392-b343-4376-b28d-555836da8d63/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiVm14bGVSMGVNNUhadFh5Y1lFSHcrcURTb3RoR0RCbktsczA5ZEloZGJucz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjRjZGEzYWU3LTFmNzAtNGJjYS1iMzYxLWNhMDFkNmE4ZjFlZFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiN2lpVkVJSGltV2pGaWtTUWFmS1Z3U3JBcUhEa21HMDQyWndPMzgyVWEyWXpTbldHMUYzeHNCWmtGWmJrTFpmbDRPVDgvbGcrT1RvMGZoekZVZ2x0dkE9PSIsInQiOiJhbk9MMEU1RWh1U01WbytGMjUxWDUzeENvZnRwdXM4ejhqUFk0eGIwQnpEV3NRWU5CNnA5WlRLbjNFYS8xbU4xbnovRDVDNnczTk56VnB6bDFxQ01BZz09In0= Content: {"blindedPaymentToken":"VmxleR0eM5HZtXycYEHw+qDSothGDBnKls09dIhdbns=","buildChannel":"release","countryCode":"US","creativeInstanceId":"4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: POST [16239:16239:0914/160852.748026:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [16239:16239:0914/160852.753832:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [16239:16239:0914/160853.445748:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [16239:16239:0914/160853.445877:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/2d113392-b343-4376-b28d-555836da8d63/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiVm14bGVSMGVNNUhadFh5Y1lFSHcrcURTb3RoR0RCbktsczA5ZEloZGJucz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjRjZGEzYWU3LTFmNzAtNGJjYS1iMzYxLWNhMDFkNmE4ZjFlZFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiN2lpVkVJSGltV2pGaWtTUWFmS1Z3U3JBcUhEa21HMDQyWndPMzgyVWEyWXpTbldHMUYzeHNCWmtGWmJrTFpmbDRPVDgvbGcrT1RvMGZoekZVZ2x0dkE9PSIsInQiOiJhbk9MMEU1RWh1U01WbytGMjUxWDUzeENvZnRwdXM4ejhqUFk0eGIwQnpEV3NRWU5CNnA5WlRLbjNFYS8xbU4xbnovRDVDNnczTk56VnB6bDFxQ01BZz09In0= Response Status Code: 201 Response: {"id":"2d113392-b343-4376-b28d-555836da8d63","payload":{},"createdAt":"2021-09-14T14:08:51.939Z","type":"view","modifiedAt":"2021-09-14T14:08:51.939Z","creativeInstanceId":"4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed"} [16239:16239:0914/160853.446001:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [16239:16239:0914/160853.446072:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [16239:16239:0914/160853.446154:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/2d113392-b343-4376-b28d-555836da8d63/paymentToken Method: GET [16239:16239:0914/160853.941451:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [16239:16239:0914/160853.941572:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/2d113392-b343-4376-b28d-555836da8d63/paymentToken Response Status Code: 200 Response: {"id":"2d113392-b343-4376-b28d-555836da8d63","createdAt":"2021-09-14T14:08:51.939Z","type":"view","modifiedAt":"2021-09-14T14:08:51.968Z","creativeInstanceId":"4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed","paymentToken":{"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU=","batchProof":"ViawV37AY23eCOSb7BJPf8iZE2KZZsUw9KXhx1ZXuw8PJR5zixsNHRC4qQVT1sRB8Qg1xPNN8ylHUnHqHsFYBA==","signedTokens":["ilIBIuvY8ojcaDW4mDIjoqiD9nghCtLgW6in2/tPzzg="]}} [16239:16239:0914/160853.941677:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id 2d113392-b343-4376-b28d-555836da8d63, creative instance id 4cda3ae7-1f70-4bca-b361-ca01d6a8f1ed and view [16239:16239:0914/160853.942230:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 2 unblinded payment tokens ``` UI was updated with proper balance and ads count ![image](https://user-images.githubusercontent.com/34715963/133784189-74280890-2c74-4fc0-a572-16f5ae1096c7.png)

After rotation

Successfully redeemed payment tokens. Verified GetPayments returns proper transaction count and balance ``` [13519:13519:0917/141218.118743:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [13519:13519:0917/141218.118844:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [13519:13519:0917/141218.119095:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Content: {"payload":"{\"paymentId\":\"cbfa987c-f544-4b9b-bbf1-a7edb01a38bb\"}","paymentCredentials":[{"credential":{"signature":"iw1nsG4Ojd21mfAsvJSK3VRyNhaIS1WX0dgQBqEDkLKpkCZnYlnidhNf0qI6X7JzECggn1Bmg5QucbN2BRDpIQ==","t":"b2HFc/MxAHpEoSLG9Q6yJPgbLQlpImJPBPqdq/zszJFcV771IS3RrBDCFxK4YY9LElsOBOJuiSaRM/fbGOVZZA=="},"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU="},{"credential":{"signature":"P4HR7Dxw00OyXHZIPdKCko2WSxvHx//4/1DYJ7WoRySKa5M8jeyVma1NPQ87PHPSJNWDdJb/OAq7rP0IQsDSMQ==","t":"SrbKgJ3ZU1qYjhiUxR6RSqwBfaWrsFG8kbojuAb6Ng1qMWA5WLKHMQqQMhPvuqNI2cnzZxGVUAknX6Gq2uB2SQ=="},"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU="},{"credential":{"signature":"DCIKG5RBumQ0+qHdJIVeQ/ATT9ycmBrjDWLn73T1MkaLD9Kra3Zw/Uc4yZusOiH+fCs2nh7SCstux4ET0qZk1A==","t":"dnojAkA+YSKS/CC8EXFWywbCAGEe99teBaNvufTxBu3YECwcZN/2S8aFXWzFTqCi41n6rSay37neOn4aMBhIyg=="},"publicKey":"VMKSj4AeyPwAF4AuS7AN+1stD/ZN0R9tW9WEtXXN6HM="}]} Content Type: application/json Method: PUT [13519:13519:0917/141218.619918:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [13519:13519:0917/141218.619973:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Response Status Code: 200 Response: {"status":"ok"} [13519:13519:0917/141218.620750:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [13519:13519:0917/141218.621424:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [13519:13519:0917/141218.621469:VERBOSE1:ad_rewards.cc(227)] GetPayments [13519:13519:0917/141218.621519:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [13519:13519:0917/141218.624391:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Method: GET [13519:13519:0917/141218.626222:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 26 minutes, 40 seconds at 2:38 PM [13519:13519:0917/141219.172337:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [13519:13519:0917/141219.172426:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"2","balance":"0.02"}] [13519:13519:0917/141219.173709:VERBOSE1:ad_rewards.cc(264)] Successfully reconciled ad rewards ``` Verified UI was updated ![image](https://user-images.githubusercontent.com/34715963/133784382-badb4a28-0dcb-4291-b364-0c44d2b85539.png) Viewed an ad ``` [13519:13519:0917/141508.724734:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 6cdcd297-6ac4-426f-94fd-a9cca3fd748c creativeInstanceId: c6a6b939-4167-41fb-8a84-1edde6c12250 creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b campaignId: 1c1ac828-db13-49bb-9128-090132044b7f advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8 segment: untargeted title: Ad8 body: Ad8 targetUrl: https://brave.com [13519:13519:0917/141508.727568:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid 6cdcd297-6ac4-426f-94fd-a9cca3fd748c in 120 seconds [13519:13519:0917/141508.727797:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 6cdcd297-6ac4-426f-94fd-a9cca3fd748c and creative instance id c6a6b939-4167-41fb-8a84-1edde6c12250 [13519:13519:0917/141508.728167:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [13519:13519:0917/141508.738934:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 6cdcd297-6ac4-426f-94fd-a9cca3fd748c and creative instance id c6a6b939-4167-41fb-8a84-1edde6c12250 [13519:13519:0917/141508.739510:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id c6a6b939-4167-41fb-8a84-1edde6c12250 [13519:13519:0917/141508.743540:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [13519:13519:0917/141508.743784:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [13519:13519:0917/141508.744065:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [13519:13519:0917/141508.746269:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/abfc2fb3-6e11-4308-a2dd-d8f00ace577f/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiYUU4b3dlOXE5NWpiWDZKbWc5SlBQa0RuV1lOYUN3bXZ1dkU2YnJ1eWRFMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcImM2YTZiOTM5LTQxNjctNDFmYi04YTg0LTFlZGRlNmMxMjI1MFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiUEhySjVCdy9TMERJcUt5Q2hNOGFYOE1QVDNmTS8rRkVxR0F4bEFiazZPSVMxZHBoalRJL3Fhd0wxZlVCUlJQSndrcGkxQ2hTV29lc3QzOGlhOVh3Nmc9PSIsInQiOiJMYnNFV29QcG8yZ3VDTWxXU3FudDM5cHhGQkxmcFAwUWVYZGZyL1lScGw1MlFBdEJUNzMvTExxdGZQVUxEbmdiM0RBZi83Zk9tM29hN3Jaazl3V280dz09In0= Content: {"blindedPaymentToken":"aE8owe9q95jbX6Jmg9JPPkDnWYNaCwmvuvE6bruydE0=","buildChannel":"release","countryCode":"US","creativeInstanceId":"c6a6b939-4167-41fb-8a84-1edde6c12250","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: POST [13519:13519:0917/141508.769850:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [13519:13519:0917/141508.770100:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [13519:13519:0917/141510.556458:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [13519:13519:0917/141510.556754:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/abfc2fb3-6e11-4308-a2dd-d8f00ace577f/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiYUU4b3dlOXE5NWpiWDZKbWc5SlBQa0RuV1lOYUN3bXZ1dkU2YnJ1eWRFMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcImM2YTZiOTM5LTQxNjctNDFmYi04YTg0LTFlZGRlNmMxMjI1MFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiUEhySjVCdy9TMERJcUt5Q2hNOGFYOE1QVDNmTS8rRkVxR0F4bEFiazZPSVMxZHBoalRJL3Fhd0wxZlVCUlJQSndrcGkxQ2hTV29lc3QzOGlhOVh3Nmc9PSIsInQiOiJMYnNFV29QcG8yZ3VDTWxXU3FudDM5cHhGQkxmcFAwUWVYZGZyL1lScGw1MlFBdEJUNzMvTExxdGZQVUxEbmdiM0RBZi83Zk9tM29hN3Jaazl3V280dz09In0= Response Status Code: 201 Response: {"id":"abfc2fb3-6e11-4308-a2dd-d8f00ace577f","payload":{},"createdAt":"2021-09-17T12:15:07.171Z","type":"view","modifiedAt":"2021-09-17T12:15:07.171Z","creativeInstanceId":"c6a6b939-4167-41fb-8a84-1edde6c12250"} [13519:13519:0917/141510.557214:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [13519:13519:0917/141510.557386:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [13519:13519:0917/141510.557546:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/abfc2fb3-6e11-4308-a2dd-d8f00ace577f/paymentToken Method: GET [13519:13519:0917/141524.691661:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [13519:13519:0917/141524.692002:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/abfc2fb3-6e11-4308-a2dd-d8f00ace577f/paymentToken Response Status Code: 200 Response: {"id":"abfc2fb3-6e11-4308-a2dd-d8f00ace577f","createdAt":"2021-09-17T12:15:07.171Z","type":"view","modifiedAt":"2021-09-17T12:15:07.183Z","creativeInstanceId":"c6a6b939-4167-41fb-8a84-1edde6c12250","paymentToken":{"publicKey":"AnMfPpNa3Ygz3GKuiOB9Hq8AaYGsEGrWXvcuIk1Q9Tg=","batchProof":"/CCdgJqtYpqFvwjbk29jGJu007BhdCTDxEpRHI/I3wcP7FnH1iYLHf+Q6dN8QUsEedp4l10u0/bz3i1wZTbICg==","signedTokens":["zLF/61yPlt8axsYhTUUf85pGaRKwvES11jCwJKd78Ek="]}} [13519:13519:0917/141524.692446:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id abfc2fb3-6e11-4308-a2dd-d8f00ace577f, creative instance id c6a6b939-4167-41fb-8a84-1edde6c12250 and view [13519:13519:0917/141524.693208:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens ``` UI shows proper ads viewed and balance ![image](https://user-images.githubusercontent.com/34715963/133783472-3007e534-bc10-4be4-be23-86cdda7341fb.png) After `RedeemUnblindedPaymentTokens`, GetPayments returns 3 transactions and proper balance ``` [14099:14099:0917/145204.627085:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [14099:14099:0917/145204.627227:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [14099:14099:0917/145204.627401:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Content: {"payload":"{\"paymentId\":\"cbfa987c-f544-4b9b-bbf1-a7edb01a38bb\"}","paymentCredentials":[{"credential":{"signature":"QdVWF8JUIry/NOMFuLmET1SJaimxgyVGGV3NlkX5IfOVbiaujzbseAHAwfrEg37CU/IM+UKj8ybln66nQa/BFw==","t":"g8ShayqSzr8WeFolJsU/ow7OQwdWJigGibRJGBz18/f29cfNnQHCNIHqFv4licyKurdI5znaKG7c1Auduu8m8w=="},"publicKey":"AnMfPpNa3Ygz3GKuiOB9Hq8AaYGsEGrWXvcuIk1Q9Tg="},{"credential":{"signature":"/0sDttG6V2Iwz76SiKqvOBPhofwZpBix4L6SDnDvNDxCvNeDfn01+r+RZOlDRTN+OIlE/As/euhIqspfsPvkXg==","t":"61gkT+5H85p/YOvT7vnlX94doWcXeAUh0TvYlwfPp35doh5z5/n9n+tFqVNpGFazm4cLTbe2RvMBoU3fn8eqLw=="},"publicKey":"Bgk5gT+b96iSr3nD5nuTM/yGQ5klrIe6VC6DDdM6sFs="}]} Content Type: application/json Method: PUT [14099:14099:0917/145205.420636:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [14099:14099:0917/145205.420751:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Response Status Code: 200 Response: {"status":"ok"} [14099:14099:0917/145205.421345:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [14099:14099:0917/145205.422068:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [14099:14099:0917/145205.422252:VERBOSE1:ad_rewards.cc(227)] GetPayments [14099:14099:0917/145205.422457:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [14099:14099:0917/145205.425170:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Method: GET [14099:14099:0917/145205.427782:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 5 minutes, 59 seconds at 2:58 PM [14099:14099:0917/145205.869002:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [14099:14099:0917/145205.869136:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/cbfa987c-f544-4b9b-bbf1-a7edb01a38bb Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"3","balance":"0.03"}] [14099:14099:0917/145205.870740:VERBOSE1:ad_rewards.cc(264)] Successfully reconciled ad rewards ``` UI shows proper ads viewed and balance ![image](https://user-images.githubusercontent.com/34715963/133783387-b7f4a3a1-f0fd-4f1a-9147-2ded91ef5768.png)

Redeemed payment tokens

Before rotation

Ads were shown and user was paid for them: ``` [19610:19610:0914/163748.952867:VERBOSE3:inline_content_ad_event_viewed.cc(25)] Viewed inline content ad with uuid 1f55c44a-e6e0-4be8-9bd7-f73c394333ec and creative instance id 033a95ca-963b-460c-b203-8181346bd41c [19610:19610:0914/163748.953529:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 033a95ca-963b-460c-b203-8181346bd41c [19610:19610:0914/163748.957091:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [19610:19610:0914/163748.957264:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [19610:19610:0914/163748.957363:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [19610:19610:0914/163748.957446:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/e7094cc8-1f65-4434-a75f-e6362a90ef54/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwidFBMUzFENEV2SitBVlFhS3pkTDk5aEs4UUVvc2w3RGFPZnpFZDhBSnRFVT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjAzM2E5NWNhLTk2M2ItNDYwYy1iMjAzLTgxODEzNDZiZDQxY1wiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiclhzSzdYN1hUNVR6VnFsemxZYVNQajJZWmlBcHkwTyt5MXBRTHB5VnA2aGhpNGk0TWdrWDRQajVCQm4zMFZWaHNXMzNFRHVhWDh4MFh3SHBDOWxvTVE9PSIsInQiOiI2d1J3OWZ2MlpBM2pkRkdxUFd1eVlabWRmbm9BQVIxNThFem1VUUNwVjM5UGlJdE9VUHdHYTgraXFWSWhtVS83VGFLQi96d0krc2ZNNHYxV0RCZTJUQT09In0= Content: {"blindedPaymentToken":"tPLS1D4EvJ+AVQaKzdL99hK8QEosl7DaOfzEd8AJtEU=","buildChannel":"release","countryCode":"US","creativeInstanceId":"033a95ca-963b-460c-b203-8181346bd41c","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: POST [19610:19610:0914/163748.962672:VERBOSE6:inline_content_ad_event_viewed.cc(33)] Successfully logged inline content ad viewed event [19610:19610:0914/163749.685865:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [19610:19610:0914/163749.686143:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/e7094cc8-1f65-4434-a75f-e6362a90ef54/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwidFBMUzFENEV2SitBVlFhS3pkTDk5aEs4UUVvc2w3RGFPZnpFZDhBSnRFVT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjAzM2E5NWNhLTk2M2ItNDYwYy1iMjAzLTgxODEzNDZiZDQxY1wiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiclhzSzdYN1hUNVR6VnFsemxZYVNQajJZWmlBcHkwTyt5MXBRTHB5VnA2aGhpNGk0TWdrWDRQajVCQm4zMFZWaHNXMzNFRHVhWDh4MFh3SHBDOWxvTVE9PSIsInQiOiI2d1J3OWZ2MlpBM2pkRkdxUFd1eVlabWRmbm9BQVIxNThFem1VUUNwVjM5UGlJdE9VUHdHYTgraXFWSWhtVS83VGFLQi96d0krc2ZNNHYxV0RCZTJUQT09In0= Response Status Code: 201 Response: {"id":"e7094cc8-1f65-4434-a75f-e6362a90ef54","payload":{},"createdAt":"2021-09-14T14:37:48.113Z","type":"view","modifiedAt":"2021-09-14T14:37:48.113Z","creativeInstanceId":"033a95ca-963b-460c-b203-8181346bd41c"} [19610:19610:0914/163749.686532:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [19610:19610:0914/163749.686684:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [19610:19610:0914/163749.686819:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/e7094cc8-1f65-4434-a75f-e6362a90ef54/paymentToken Method: GET [19610:19610:0914/163750.131356:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [19610:19610:0914/163750.131538:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/e7094cc8-1f65-4434-a75f-e6362a90ef54/paymentToken Response Status Code: 200 Response: {"id":"e7094cc8-1f65-4434-a75f-e6362a90ef54","createdAt":"2021-09-14T14:37:48.113Z","type":"view","modifiedAt":"2021-09-14T14:37:48.140Z","creativeInstanceId":"033a95ca-963b-460c-b203-8181346bd41c","paymentToken":{"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU=","batchProof":"I56zjQ9zwc9d1hieqAiGPl4XUgzKPEPPuf9f8fET/gtL2pcS1rkHGHCBvPJdvp5zA5OQbuuyTxHNKlnffGILAA==","signedTokens":["4rerOa0ZX/7PPBwOvtJuUyH3FDw9X+B05Nw65dy4KQ8="]}} [19610:19610:0914/163750.138533:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id e7094cc8-1f65-4434-a75f-e6362a90ef54, creative instance id 033a95ca-963b-460c-b203-8181346bd41c and view [19610:19610:0914/163750.138721:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens [19610:19610:0914/164059.602797:VERBOSE1:text_classification_model.cc(93)] No text classification probabilities found for en_US.UTF-8 locale [19610:19610:0914/164059.604332:VERBOSE1:eligible_ad_notifications.cc(87)] Get eligible ads for parent-child segments: [19610:19610:0914/164059.604526:VERBOSE1:eligible_ad_notifications.cc(89)] untargeted [19610:19610:0914/164059.655134:VERBOSE2:ad_priority.h(32)] 21 ads with a priority of 1 in bucket 1 [19610:19610:0914/164059.655746:VERBOSE1:ad_notification_serving.cc(126)] Found 21 eligible ads [19610:19610:0914/164059.655822:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 450f6058-da2e-4f51-b3b3-225fd1a9eb35 creativeInstanceId: 7a49c681-76ee-48ee-a627-1bd80de82854 creativeSetId: e76b526f-79dd-4111-8778-ca7b194c66fa campaignId: dd64fb34-f683-45b3-b2ba-dd6e1715f48f advertiserId: dd3d043b-51ca-4c6c-8ddd-16afa165ce1b segment: untargeted title: Test Title 1 body: Test Body 1 targetUrl: https://www.brave.com/bar [19610:19610:0914/164059.656967:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid 450f6058-da2e-4f51-b3b3-225fd1a9eb35 in 120 seconds [19610:19610:0914/164059.657840:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 450f6058-da2e-4f51-b3b3-225fd1a9eb35 and creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 [19610:19610:0914/164059.658271:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [19610:19610:0914/164059.658417:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 450f6058-da2e-4f51-b3b3-225fd1a9eb35 and creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 [19610:19610:0914/164059.658781:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 [19610:19610:0914/164059.663443:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [19610:19610:0914/164059.663868:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [19610:19610:0914/164059.664004:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [19610:19610:0914/164059.664369:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/3bbc4ebb-499b-4576-a72c-694f79fa517b/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiektXb05mQnRMTGxrSTNPemRxc2FSYmwzYlRRdGZxdDhTWU1zbDVIMFRnYz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjdhNDljNjgxLTc2ZWUtNDhlZS1hNjI3LTFiZDgwZGU4Mjg1NFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiZTROTTNPZVhTZDZKd2w3NDhLdW03Zk9MNmZLajNQTHJHMkoyQm5tS0pwNWFod1U5dFZWaWpyRVlCbWZBeURsV2lJMTB2anFucWhlUkhGMUlkYzRINVE9PSIsInQiOiJ0a1MyTWl4Vk82QVkzR01QYy85YmgzOE9XaSswZ2J2SHJkR0dRNnNIa0ExNGFOVXlUbzV4ZkFHRVZtVTgxb1JodGNjVGxUdFFhaGJEcEFDUncrdHgwQT09In0= Content: {"blindedPaymentToken":"zKWoNfBtLLlkI3OzdqsaRbl3bTQtfqt8SYMsl5H0Tgc=","buildChannel":"release","countryCode":"US","creativeInstanceId":"7a49c681-76ee-48ee-a627-1bd80de82854","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: POST [19610:19610:0914/164059.672420:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [19610:19610:0914/164059.677641:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [19610:19610:0914/164100.400590:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [19610:19610:0914/164100.400720:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/3bbc4ebb-499b-4576-a72c-694f79fa517b/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiektXb05mQnRMTGxrSTNPemRxc2FSYmwzYlRRdGZxdDhTWU1zbDVIMFRnYz1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjdhNDljNjgxLTc2ZWUtNDhlZS1hNjI3LTFiZDgwZGU4Mjg1NFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiZTROTTNPZVhTZDZKd2w3NDhLdW03Zk9MNmZLajNQTHJHMkoyQm5tS0pwNWFod1U5dFZWaWpyRVlCbWZBeURsV2lJMTB2anFucWhlUkhGMUlkYzRINVE9PSIsInQiOiJ0a1MyTWl4Vk82QVkzR01QYy85YmgzOE9XaSswZ2J2SHJkR0dRNnNIa0ExNGFOVXlUbzV4ZkFHRVZtVTgxb1JodGNjVGxUdFFhaGJEcEFDUncrdHgwQT09In0= Response Status Code: 201 Response: {"id":"3bbc4ebb-499b-4576-a72c-694f79fa517b","payload":{},"createdAt":"2021-09-14T14:40:58.797Z","type":"view","modifiedAt":"2021-09-14T14:40:58.797Z","creativeInstanceId":"7a49c681-76ee-48ee-a627-1bd80de82854"} [19610:19610:0914/164100.400817:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [19610:19610:0914/164100.400876:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [19610:19610:0914/164100.400921:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/3bbc4ebb-499b-4576-a72c-694f79fa517b/paymentToken Method: GET [19610:19610:0914/164100.852077:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [19610:19610:0914/164100.852328:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/3bbc4ebb-499b-4576-a72c-694f79fa517b/paymentToken Response Status Code: 200 Response: {"id":"3bbc4ebb-499b-4576-a72c-694f79fa517b","createdAt":"2021-09-14T14:40:58.797Z","type":"view","modifiedAt":"2021-09-14T14:40:58.844Z","creativeInstanceId":"7a49c681-76ee-48ee-a627-1bd80de82854","paymentToken":{"publicKey":"lKTtvRtX6wzVJ6yinrSwL4ZOUFFzq0fgWl+w8uV68yk=","batchProof":"dSEeOnJsYYV6vsfBHdC0+0aBl4ixMOr/hxllvl0lowxeKjO7WqK4N/w05pj0E1sYNQVw5d9QVuBUQU9TfKdVBA==","signedTokens":["pixzB5f0nqWIe44JUON7crf3zwZqlBqwpp1wwxU9uio="]}} [19610:19610:0914/164100.852750:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id 3bbc4ebb-499b-4576-a72c-694f79fa517b, creative instance id 7a49c681-76ee-48ee-a627-1bd80de82854 and view [19610:19610:0914/164100.854148:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.3 BAT, you now have 2 unblinded payment tokens ``` Successfully redeemed payment tokens. Verified GetPayments returns proper transaction count and balance ``` [19610:19610:0914/165601.006716:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [19610:19610:0914/165601.006871:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [19610:19610:0914/165601.007023:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Content: {"payload":"{\"paymentId\":\"8fa9ee65-a2d0-465f-ae39-33bb6df0bb50\"}","paymentCredentials":[{"credential":{"signature":"MqEe4W8R5p7D64o8NFeoXlIK+oR6nO72Q0t031laTDspNuDhDBuK5PUfHKYcZAuHA+LcbjJZXqAvzVBt452YnQ==","t":"x9KF+44dg41EIH2KHYMOMz4uhe/qg8m90Lm8wA9JtlGWeEVR6JIpd+6IbNsNpdoXzUh6E5gB8gQayKRFnaagdA=="},"publicKey":"GNJKVR2NuU0qPp6fZzH6of60JPoGkzuYMXQ5RLbo7TU="},{"credential":{"signature":"6w/3XyaAL30aV3fEK83QYqMalOFRnopFB3gxFCFvdxCpfIet+DrS227VZgWn+lz2DKccXUwgnnjZbTX3LRy5SQ==","t":"grYXnOjHkb5NydRRyynSBgV87UdVCa9EcwL28CyrKv9sHJNlprWyA7iSUZC4t74xn0FUIfu49DIBQeWra1u6hA=="},"publicKey":"lKTtvRtX6wzVJ6yinrSwL4ZOUFFzq0fgWl+w8uV68yk="},{"credential":{"signature":"hpzKURdNe0J4yuVFlY3l7HUjtreBkEh2X+GgjYKzuLUkN1ZlIJW3t5GFeW13Cr2+lo5qvKPUbtNSiGTkk+RQOQ==","t":"zeI9pHv0da+Wd0G1FaFrWqompi+jcNlOIBUhyZOJH9LtD+JYkLnF5vgpN+aVr8eT1uzcObxkbOxZ3jL8V32tZg=="},"publicKey":"VMKSj4AeyPwAF4AuS7AN+1stD/ZN0R9tW9WEtXXN6HM="}]} Content Type: application/json Method: PUT [19610:19610:0914/165602.133106:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [19610:19610:0914/165602.133190:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Response Status Code: 200 Response: {"status":"ok"} [19610:19610:0914/165602.134109:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [19610:19610:0914/165602.134830:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [19610:19610:0914/165602.134986:VERBOSE1:ad_rewards.cc(227)] GetPayments [19610:19610:0914/165602.135159:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [19610:19610:0914/165602.137731:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Method: GET [19610:19610:0914/165602.140307:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 7 minutes, 30 seconds at 5:03 PM [19610:19610:0914/165603.834501:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [19610:19610:0914/165603.834557:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"2","balance":"0.31"}] ```

After rotation

Verified GetPayments returns proper transaction count and balance ``` [14763:14763:0917/154510.233553:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [14763:14763:0917/154510.233809:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"2","balance":"0.31"}] ``` Verified there were no unblinded payment tokens to redeem as they have already beed redeemed ``` [14763:14763:0917/154609.494903:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [14763:14763:0917/154609.494959:VERBOSE1:redeem_unblinded_payment_tokens.cc(82)] No unblinded payment tokens to redeem ``` Verified ad was shown and user was paid for it ``` [14763:14763:0917/155048.945089:VERBOSE1:eligible_ad_notifications.cc(87)] Get eligible ads for parent-child segments: [14763:14763:0917/155048.945271:VERBOSE1:eligible_ad_notifications.cc(89)] untargeted [14763:14763:0917/155048.958459:VERBOSE2:ad_priority.h(32)] 11 ads with a priority of 1 in bucket 1 [14763:14763:0917/155048.959117:VERBOSE1:ad_notification_serving.cc(126)] Found 11 eligible ads [14763:14763:0917/155048.959273:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: c024d3d9-237d-400e-813b-732966e43f62 creativeInstanceId: 10b8a8c1-4308-40f5-b6df-5281cf5ef628 creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b campaignId: 1c1ac828-db13-49bb-9128-090132044b7f advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8 segment: untargeted title: Ad1 body: Ad1 targetUrl: https://brave.com [14763:14763:0917/155048.961473:VERBOSE1:ads_service_impl.cc(1898)] Timeout ad notification with uuid c024d3d9-237d-400e-813b-732966e43f62 in 120 seconds [14763:14763:0917/155048.961722:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid c024d3d9-237d-400e-813b-732966e43f62 and creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628 [14763:14763:0917/155048.961921:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [14763:14763:0917/155048.969404:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid c024d3d9-237d-400e-813b-732966e43f62 and creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628 [14763:14763:0917/155048.969890:VERBOSE1:confirmations.cc(90)] Confirming view ad for creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628 [14763:14763:0917/155048.980877:VERBOSE1:redeem_unblinded_token.cc(50)] Redeem unblinded token [14763:14763:0917/155048.981482:VERBOSE1:redeem_unblinded_token.cc(64)] CreateConfirmation [14763:14763:0917/155048.981713:VERBOSE2:redeem_unblinded_token.cc(65)] POST /v1/confirmation/{confirmation_id}/{credential} [14763:14763:0917/155048.982122:VERBOSE5:redeem_unblinded_token.cc(69)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/bec6f756-bea4-41a0-8451-199885c46306/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiUmhHdFM2cUlDVzlEOWRCTCtRMmRiV2toSGhZaU0yTloyKzd6cEhFeEFnMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjEwYjhhOGMxLTQzMDgtNDBmNS1iNmRmLTUyODFjZjVlZjYyOFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiY1hpMS9mMzlpNC9ZVVVoanFxNlo1MjdpRHpHRGx3b1VBajZ5VUdQZDJKUGRONUREU3B5SDdBbzhOd3R1ZEJmMi9XRWJVbENHaUwzYWx3NnB3U3B0U1E9PSIsInQiOiJPSWZSdk1oSWNPT0FKb1hIbWJ1UHdXaVdQeTZ5aDFSRVhaRlhOdFNuU2xkUVdxbStsWWloOFJMank2Q0JQdDNGVU1lYXJXbnRyeEc3WmNkMFZhNGI5Zz09In0= Content: {"blindedPaymentToken":"RhGtS6qICW9D9dBL+Q2dbWkhHhYiM2NZ2+7zpHExAg0=","buildChannel":"release","countryCode":"US","creativeInstanceId":"10b8a8c1-4308-40f5-b6df-5281cf5ef628","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: POST [14763:14763:0917/155048.986868:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [14763:14763:0917/155048.990480:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [14763:14763:0917/155050.029051:VERBOSE1:redeem_unblinded_token.cc(82)] OnCreateConfirmation [14763:14763:0917/155050.029341:VERBOSE6:redeem_unblinded_token.cc(84)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/bec6f756-bea4-41a0-8451-199885c46306/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiUmhHdFM2cUlDVzlEOWRCTCtRMmRiV2toSGhZaU0yTloyKzd6cEhFeEFnMD1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjEwYjhhOGMxLTQzMDgtNDBmNS1iNmRmLTUyODFjZjVlZjYyOFwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiY1hpMS9mMzlpNC9ZVVVoanFxNlo1MjdpRHpHRGx3b1VBajZ5VUdQZDJKUGRONUREU3B5SDdBbzhOd3R1ZEJmMi9XRWJVbENHaUwzYWx3NnB3U3B0U1E9PSIsInQiOiJPSWZSdk1oSWNPT0FKb1hIbWJ1UHdXaVdQeTZ5aDFSRVhaRlhOdFNuU2xkUVdxbStsWWloOFJMank2Q0JQdDNGVU1lYXJXbnRyeEc3WmNkMFZhNGI5Zz09In0= Response Status Code: 201 Response: {"id":"bec6f756-bea4-41a0-8451-199885c46306","payload":{},"createdAt":"2021-09-17T13:50:49.787Z","type":"view","modifiedAt":"2021-09-17T13:50:49.787Z","creativeInstanceId":"10b8a8c1-4308-40f5-b6df-5281cf5ef628"} [14763:14763:0917/155050.029831:VERBOSE1:redeem_unblinded_token.cc(112)] FetchPaymentToken [14763:14763:0917/155050.030079:VERBOSE2:redeem_unblinded_token.cc(113)] GET /v1/confirmation/{confirmation_id}/paymentToken [14763:14763:0917/155050.030252:VERBOSE5:redeem_unblinded_token.cc(117)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/bec6f756-bea4-41a0-8451-199885c46306/paymentToken Method: GET [14763:14763:0917/155051.823760:VERBOSE1:browser_manager.cc(65)] Browser window is inactive [14763:14763:0917/155051.824340:VERBOSE6:user_activity.cc(41)] Triggered event: 17 (4.5:2:3600 s) [14763:14763:0917/155051.824751:VERBOSE1:browser_manager.cc(99)] Browser did enter background [14763:14763:0917/155051.824990:VERBOSE6:user_activity.cc(41)] Triggered event: 02 (5:2:3600 s) [14763:14763:0917/155052.946719:VERBOSE1:redeem_unblinded_token.cc(128)] OnFetchPaymentToken [14763:14763:0917/155052.946934:VERBOSE6:redeem_unblinded_token.cc(130)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/bec6f756-bea4-41a0-8451-199885c46306/paymentToken Response Status Code: 200 Response: {"id":"bec6f756-bea4-41a0-8451-199885c46306","createdAt":"2021-09-17T13:50:49.787Z","type":"view","modifiedAt":"2021-09-17T13:50:49.815Z","creativeInstanceId":"10b8a8c1-4308-40f5-b6df-5281cf5ef628","paymentToken":{"publicKey":"AnMfPpNa3Ygz3GKuiOB9Hq8AaYGsEGrWXvcuIk1Q9Tg=","batchProof":"yDxKjzKrUGZlbVtvzayartfhRKg8Y4V+dit48O/yzgJlWIZrT3sutSA+vhkfWKfFxj/kexvcJ9XSC/TlmmKkDQ==","signedTokens":["vJ4F34OWNoJPTynwR1ZmSTddTn9J3F4EoBrZ1n8163A="]}} [14763:14763:0917/155052.947314:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id bec6f756-bea4-41a0-8451-199885c46306, creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628 and view [14763:14763:0917/155052.947922:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens ``` Verified UI updated ![image](https://user-images.githubusercontent.com/34715963/133794076-fe4bdbf6-5ad7-4ed3-b29c-506f448d16de.png) Successfully redeemed payment tokens. Verified GetPayments returns proper transaction count and balance ``` [15943:15943:0917/182311.562427:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] RedeemUnblindedPaymentTokens [15943:15943:0917/182311.562529:VERBOSE2:redeem_unblinded_payment_tokens.cc(88)] PUT /v1/confirmation/payment/{payment_id} [15943:15943:0917/182311.562607:VERBOSE5:redeem_unblinded_payment_tokens.cc(98)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Content: {"payload":"{\"paymentId\":\"8fa9ee65-a2d0-465f-ae39-33bb6df0bb50\"}","paymentCredentials":[{"credential":{"signature":"XZnIftxT/XeKh1POEuNsr4lP4USyLGdthVvJOVP/WSbseeYKJAfvpe8FLPhsvjKq89RFSXh96MJ7gSuW+mh+HQ==","t":"p8iXkXh2YoBt2cKJvPPUTSsENyVITNHTou0JLNos7FTt2TBybQIN5VjjYjMTMv/1IpKtAQCIsxLkQ19E7Z/peg=="},"publicKey":"Bgk5gT+b96iSr3nD5nuTM/yGQ5klrIe6VC6DDdM6sFs="},{"credential":{"signature":"JEeccht7CTd0sTMQybCs5aTSY63KwKOhiVw/Dee4KNPBUthfVoF2B0BamDB7brsRcql/mIAECLG9nWN1bZWuPQ==","t":"AYYKzOtGqp60KYEjejOLqpa6NUVFeOM9gjv9XNvKhSkdLV1osrnJBLf7FLQUDlTf276xH2JXrdZ873HIa8n5Lw=="},"publicKey":"AnMfPpNa3Ygz3GKuiOB9Hq8AaYGsEGrWXvcuIk1Q9Tg="},{"credential":{"signature":"QGKRDo9dsinS3DmV7IGYY92Udd57M14a9jst5Z3SItpiFsA+VttOk11RRWdkXuBz65Le3fn4PUJPsvU2+4BnCA==","t":"vzYYB/IR0z88uhffVPdKEyarZu7o9L2xSHcc7M1v/+xq5aEfwN6jtSnPqvrrzrudKMLiJAxlGGlZhWMw9dzlkg=="},"publicKey":"Bgk5gT+b96iSr3nD5nuTM/yGQ5klrIe6VC6DDdM6sFs="}]} Content Type: application/json Method: PUT [15943:15943:0917/182311.913420:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [15943:15943:0917/182311.913641:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Response Status Code: 200 Response: {"status":"ok"} [15943:15943:0917/182311.914388:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [15943:15943:0917/182311.927534:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [15943:15943:0917/182311.927659:VERBOSE1:ad_rewards.cc(227)] GetPayments [15943:15943:0917/182311.927758:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [15943:15943:0917/182311.927836:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Method: GET [15943:15943:0917/182311.934102:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 4 minutes, 6 seconds at 6:27 PM [15943:15943:0917/182312.206834:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [15943:15943:0917/182312.207094:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.bravesoftware.com/v1/confirmation/payment/8fa9ee65-a2d0-465f-ae39-33bb6df0bb50 Response Status Code: 200 Response: [{"month":"2021-09","transactionCount":"4","balance":"0.33"}] ``` Verified UI updated ![image](https://user-images.githubusercontent.com/34715963/133799865-1654688e-0301-4884-8edf-6f6ae553c023.png)
saberistic commented 3 years ago

Thanks @btlechowski

LaurenWags commented 2 years ago

@amirsaber @btlechowski should this be closed? or is this remaining open until this is done in production as well?

btlechowski commented 2 years ago

The rotation is planned for the end of October.

btlechowski commented 2 years ago

The rotation was successful on production

Verification passed on

Brave 1.31.88 Chromium: 95.0.4638.69 (Official Build) (64-bit)
Revision d31a821ec901f68d0d34ccdbaea45b4c86ce543e-refs/branch-heads/4638@{#871}
OS Ubuntu 18.04 LTS

Verified test plan from https://github.com/brave/qa-resources/issues/362#issuecomment-909533582

Not redeemed payment tokens

Before rotation

Ads were shown and user was paid for them: ``` [18359:18359:1028/125840.942928:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 88c1ee1a-4a09-43e7-857d-71650f904fed creativeInstanceId: 40f6d6e8-b413-4232-b27e-11c3be0f9e6b creativeSetId: a25ace6f-213f-41f9-b963-2794561c7915 campaignId: 9603e468-8d94-44c8-8fed-992918e5bb73 advertiserId: 89e30c74-f512-49d8-894f-6b515eaffc44 segment: technology & computing-software title: Download Grammarly—It's Free! body: Make every message professional. Try Grammarly now! targetUrl: https://www.grammarly.com/?utm_source=brave&utm_medium=cpc&utm_campaign=may21test&utm_content=ad2 [18359:18359:1028/125841.002064:VERBOSE1:ads_service_impl.cc(1971)] Timeout ad notification with uuid 88c1ee1a-4a09-43e7-857d-71650f904fed in 120 seconds [18359:18359:1028/125841.002229:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 88c1ee1a-4a09-43e7-857d-71650f904fed and creative instance id 40f6d6e8-b413-4232-b27e-11c3be0f9e6b [18359:18359:1028/125841.002592:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [18359:18359:1028/125841.004826:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 88c1ee1a-4a09-43e7-857d-71650f904fed and creative instance id 40f6d6e8-b413-4232-b27e-11c3be0f9e6b [18359:18359:1028/125841.005317:VERBOSE1:confirmations.cc(91)] Confirming view ad for creative instance id 40f6d6e8-b413-4232-b27e-11c3be0f9e6b [18359:18359:1028/125841.010803:VERBOSE1:redeem_unblinded_token.cc(51)] Redeem unblinded token [18359:18359:1028/125841.010973:VERBOSE1:redeem_unblinded_token.cc(65)] CreateConfirmation [18359:18359:1028/125841.011103:VERBOSE2:redeem_unblinded_token.cc(66)] POST /v1/confirmation/{confirmation_id}/{credential} [18359:18359:1028/125841.011190:VERBOSE5:redeem_unblinded_token.cc(70)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/64a47eee-8ca1-4bb2-95dd-1f78255938ec/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiVEhLZnc3TmpmOW5iaW5jUElIOU9McHBPZnJFRW0wM1NHaFExSmoxeGp6RT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjQwZjZkNmU4LWI0MTMtNDIzMi1iMjdlLTExYzNiZTBmOWU2YlwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiZUlFS2NBWFEweWxSLzRtRlRRQUVwckpDUHE3Z3JoeGNZQ2xTeERpYkx0SXlkSWxKVFMzODdHQkVoS0pTcmd5MTA0endQa1hyd2trZll4T25Pc0ZGakE9PSIsInQiOiJSaTJqTGJmSlk0eTFGdVRleGljV21TL0Zveko1UTZHcHhBNEsyZHM5QlorSnBpQ1hxOCs1UFpQa085LzNaMVlFQzgvdm5qaDVubGJwczR6aVU5TTJVUT09In0= Content: {"blindedPaymentToken":"THKfw7Njf9nbincPIH9OLppOfrEEm03SGhQ1Jj1xjzE=","buildChannel":"release","countryCode":"US","creativeInstanceId":"40f6d6e8-b413-4232-b27e-11c3be0f9e6b","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: kPost [18359:18359:1028/125841.013747:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [18359:18359:1028/125841.015581:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [18359:18359:1028/125841.437902:VERBOSE1:redeem_unblinded_token.cc(83)] OnCreateConfirmation [18359:18359:1028/125841.437970:VERBOSE6:redeem_unblinded_token.cc(85)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/64a47eee-8ca1-4bb2-95dd-1f78255938ec/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiVEhLZnc3TmpmOW5iaW5jUElIOU9McHBPZnJFRW0wM1NHaFExSmoxeGp6RT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjQwZjZkNmU4LWI0MTMtNDIzMi1iMjdlLTExYzNiZTBmOWU2YlwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiZUlFS2NBWFEweWxSLzRtRlRRQUVwckpDUHE3Z3JoeGNZQ2xTeERpYkx0SXlkSWxKVFMzODdHQkVoS0pTcmd5MTA0endQa1hyd2trZll4T25Pc0ZGakE9PSIsInQiOiJSaTJqTGJmSlk0eTFGdVRleGljV21TL0Zveko1UTZHcHhBNEsyZHM5QlorSnBpQ1hxOCs1UFpQa085LzNaMVlFQzgvdm5qaDVubGJwczR6aVU5TTJVUT09In0= Response Status Code: 201 Response: {"id":"64a47eee-8ca1-4bb2-95dd-1f78255938ec","payload":{},"createdAt":"2021-10-28T10:58:41.138Z","type":"view","modifiedAt":"2021-10-28T10:58:41.138Z","creativeInstanceId":"40f6d6e8-b413-4232-b27e-11c3be0f9e6b"} [18359:18359:1028/125841.438030:VERBOSE1:redeem_unblinded_token.cc(113)] FetchPaymentToken [18359:18359:1028/125841.438151:VERBOSE2:redeem_unblinded_token.cc(114)] GET /v1/confirmation/{confirmation_id}/paymentToken [18359:18359:1028/125841.438183:VERBOSE5:redeem_unblinded_token.cc(118)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/64a47eee-8ca1-4bb2-95dd-1f78255938ec/paymentToken Method: kGet [18359:18359:1028/125843.912912:VERBOSE1:redeem_unblinded_token.cc(129)] OnFetchPaymentToken [18359:18359:1028/125843.913001:VERBOSE6:redeem_unblinded_token.cc(131)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/64a47eee-8ca1-4bb2-95dd-1f78255938ec/paymentToken Response Status Code: 200 Response: {"id":"64a47eee-8ca1-4bb2-95dd-1f78255938ec","createdAt":"2021-10-28T10:58:41.138Z","type":"view","modifiedAt":"2021-10-28T10:58:41.147Z","creativeInstanceId":"40f6d6e8-b413-4232-b27e-11c3be0f9e6b","paymentToken":{"publicKey":"yjoFRpnBNgkaS7wf0cgyEFop99q1nuZj/APdxeEVSTc=","batchProof":"HM5RBRQmSAiBAT5itp3ms67cJb8agK8xz31CyTsYnwb86CipOng1CTQ1dh78J0wPXA+Yrq5bCPpHyqLMEDzRAw==","signedTokens":["npAb+C53Hp6/lvPMb14tMzuxuMD2qwDkSu62mNWVWgg="]}} [18359:18359:1028/125843.914089:VERBOSE1:confirmations.cc(251)] Successfully redeemed unblinded token with confirmation id 64a47eee-8ca1-4bb2-95dd-1f78255938ec, creative instance id 40f6d6e8-b413-4232-b27e-11c3be0f9e6b and view [18359:18359:1028/125843.914642:VERBOSE1:confirmations.cc(274)] Added 1 unblinded payment token with an estimated redemption value of 0.025 BAT, you now have 1 unblinded payment tokens [18359:18359:1028/125843.915989:VERBOSE1:refill_unblinded_tokens.cc(67)] No need to refill unblinded tokens as we already have 49 unblinded tokens which is above the minimum threshold of 20 ```

After rotation

Successfully redeemed payment tokens. Verified GetPayments returns proper transaction count and balance ``` [19122:19122:1028/130630.845203:VERBOSE1:redeem_unblinded_payment_tokens.cc(109)] OnRedeemUnblindedPaymentTokens [19122:19122:1028/130630.845244:VERBOSE6:redeem_unblinded_payment_tokens.cc(111)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: {"status":"ok"} [19122:19122:1028/130630.845745:VERBOSE1:account.cc(186)] Successfully redeemed unblinded payment tokens [19122:19122:1028/130630.847555:VERBOSE1:ad_rewards.cc(219)] Reconcile ad rewards [19122:19122:1028/130630.847900:VERBOSE1:ad_rewards.cc(227)] GetPayments [19122:19122:1028/130630.847932:VERBOSE2:ad_rewards.cc(228)] GET /v1/confirmation/payment/{payment_id} [19122:19122:1028/130630.850084:VERBOSE5:ad_rewards.cc(232)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Method: kGet [19122:19122:1028/130630.855514:VERBOSE1:redeem_unblinded_payment_tokens.cc(71)] Redeem unblinded payment tokens in 0 hours, 34 minutes, 42 seconds at 1:41 PM [19122:19122:1028/130631.136279:VERBOSE1:ad_rewards.cc(241)] OnGetPayments [19122:19122:1028/130631.136316:VERBOSE6:ad_rewards.cc(243)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: [{"month":"2021-10","transactionCount":"1","balance":"0.005"}] ``` Verified UI was updated Viewed an ad ``` [19122:19122:1028/131938.830384:VERBOSE1:ad_notification_serving.cc(222)] Serving ad notification: uuid: 0172ee4b-0011-4393-959f-03241d561f78 creativeInstanceId: 7edc69af-9f43-4944-a0c8-786f1d161a09 creativeSetId: 958790dc-6ebd-4a11-90f8-24463878bb62 campaignId: 6c05ff8c-b62d-4bbd-b503-33a685c31c84 advertiserId: 11d55b18-b55b-4d77-a199-25c034029dcf segment: untargeted title: Technics body: Wireless earbuds with multipoint Bluetooth connectivity targetUrl: https://www.technics.com/us/products/headphones-learn/headphones/technics-true-wireless-earbuds.html [19122:19122:1028/131938.853122:VERBOSE1:ads_service_impl.cc(1971)] Timeout ad notification with uuid 0172ee4b-0011-4393-959f-03241d561f78 in 120 seconds [19122:19122:1028/131938.853424:VERBOSE3:ad_notification_event_served.cc(25)] Served ad notification with uuid 0172ee4b-0011-4393-959f-03241d561f78 and creative instance id 7edc69af-9f43-4944-a0c8-786f1d161a09 [19122:19122:1028/131938.853784:VERBOSE1:ad_notification_serving.cc(137)] Served ad notification [19122:19122:1028/131938.855350:VERBOSE3:ad_notification_event_viewed.cc(24)] Viewed ad notification with uuid 0172ee4b-0011-4393-959f-03241d561f78 and creative instance id 7edc69af-9f43-4944-a0c8-786f1d161a09 [19122:19122:1028/131938.855829:VERBOSE1:confirmations.cc(91)] Confirming view ad for creative instance id 7edc69af-9f43-4944-a0c8-786f1d161a09 [19122:19122:1028/131938.881952:VERBOSE1:redeem_unblinded_token.cc(51)] Redeem unblinded token [19122:19122:1028/131938.882424:VERBOSE1:redeem_unblinded_token.cc(65)] CreateConfirmation [19122:19122:1028/131938.882555:VERBOSE2:redeem_unblinded_token.cc(66)] POST /v1/confirmation/{confirmation_id}/{credential} [19122:19122:1028/131938.883078:VERBOSE5:redeem_unblinded_token.cc(70)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/2254ec91-48a9-463e-ac60-4a190efad459/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiNUtiL1VjTDQ4TXZ4a0tHR2pwRERjZnI3V09oVlhjNEU5NXk4eHprRFAxWT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjdlZGM2OWFmLTlmNDMtNDk0NC1hMGM4LTc4NmYxZDE2MWEwOVwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiYUNpRGJVU0RsNWtldnlFSTQxbkl2ZjRwN2hjeElPSDB3Q2pTdnc1b3BNcExQdDRCQzk5aUJnZ2UrUnovVUx3c1JKK29nK0VEUDFWN3JPSURtNGExQUE9PSIsInQiOiJORHpWRHF0TzM5TlczYWNJNGRIaFNISHl4NW9ERWRGeitGVzl4YWFabjlUQ1RCVXM2M25obDg5MDZ3MDNyY2s2MnE5U214Y1YvMENCL1NaTG83QlBEZz09In0= Content: {"blindedPaymentToken":"5Kb/UcL48MvxkKGGjpDDcfr7WOhVXc4E95y8xzkDP1Y=","buildChannel":"release","countryCode":"US","creativeInstanceId":"7edc69af-9f43-4944-a0c8-786f1d161a09","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: kPost [19122:19122:1028/131938.892396:VERBOSE1:ad_notification_event_served.cc(33)] Successfully logged ad notification served event [19122:19122:1028/131938.892747:VERBOSE6:ad_notification_event_viewed.cc(32)] Successfully logged ad notification viewed event [19122:19122:1028/131939.327035:VERBOSE1:redeem_unblinded_token.cc(83)] OnCreateConfirmation [19122:19122:1028/131939.327091:VERBOSE6:redeem_unblinded_token.cc(85)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/2254ec91-48a9-463e-ac60-4a190efad459/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiNUtiL1VjTDQ4TXZ4a0tHR2pwRERjZnI3V09oVlhjNEU5NXk4eHprRFAxWT1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcIjdlZGM2OWFmLTlmNDMtNDk0NC1hMGM4LTc4NmYxZDE2MWEwOVwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiYUNpRGJVU0RsNWtldnlFSTQxbkl2ZjRwN2hjeElPSDB3Q2pTdnc1b3BNcExQdDRCQzk5aUJnZ2UrUnovVUx3c1JKK29nK0VEUDFWN3JPSURtNGExQUE9PSIsInQiOiJORHpWRHF0TzM5TlczYWNJNGRIaFNISHl4NW9ERWRGeitGVzl4YWFabjlUQ1RCVXM2M25obDg5MDZ3MDNyY2s2MnE5U214Y1YvMENCL1NaTG83QlBEZz09In0= Response Status Code: 201 Response: {"id":"2254ec91-48a9-463e-ac60-4a190efad459","payload":{},"createdAt":"2021-10-28T11:20:50.634Z","type":"view","modifiedAt":"2021-10-28T11:20:50.634Z","creativeInstanceId":"7edc69af-9f43-4944-a0c8-786f1d161a09"} [19122:19122:1028/131939.327182:VERBOSE1:redeem_unblinded_token.cc(113)] FetchPaymentToken [19122:19122:1028/131939.327233:VERBOSE2:redeem_unblinded_token.cc(114)] GET /v1/confirmation/{confirmation_id}/paymentToken [19122:19122:1028/131939.327256:VERBOSE5:redeem_unblinded_token.cc(118)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/2254ec91-48a9-463e-ac60-4a190efad459/paymentToken Method: kGet [19122:19122:1028/131939.535728:VERBOSE1:redeem_unblinded_token.cc(129)] OnFetchPaymentToken [19122:19122:1028/131939.535774:VERBOSE6:redeem_unblinded_token.cc(131)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/2254ec91-48a9-463e-ac60-4a190efad459/paymentToken Response Status Code: 200 Response: {"id":"2254ec91-48a9-463e-ac60-4a190efad459","createdAt":"2021-10-28T11:20:50.634Z","type":"view","modifiedAt":"2021-10-28T11:20:50.679Z","creativeInstanceId":"7edc69af-9f43-4944-a0c8-786f1d161a09","paymentToken":{"publicKey":"oOJO/xLaCXGW6yhpeIfM4K1X2ln7sgdjTCTCHe8BugE=","batchProof":"NzpomW8rvtfMLtqJfiIAoS48r64GnlK/0SX7MBxRswREhjgOUDeLAecDVoPF/qdaY4ehee0EDlUueX26r2I/Ag==","signedTokens":["zpK1mMkq1Xuj5/eAz/sOem/TKbJMHG0BKLyqqk9z5gk="]}} [19122:19122:1028/131939.535834:VERBOSE1:confirmations.cc(251)] Successfully redeemed unblinded token with confirmation id 2254ec91-48a9-463e-ac60-4a190efad459, creative instance id 7edc69af-9f43-4944-a0c8-786f1d161a09 and view [19122:19122:1028/131939.535936:VERBOSE1:confirmations.cc(274)] Added 1 unblinded payment token with an estimated redemption value of 0.01 BAT, you now have 1 unblinded payment tokens ``` UI shows proper ads viewed and balance

Redeemed payment tokens

Before rotation

Verified Ads were shown and user was paid for them. Successfully redeemed payment tokens. Verified GetPayments returns proper transaction count and balance ``` [4429:4429:1101/185049.031187:VERBOSE1:redeem_unblinded_payment_tokens.cc(87)] RedeemUnblindedPaymentTokens [4429:4429:1101/185049.031372:VERBOSE2:redeem_unblinded_payment_tokens.cc(96)] PUT /v1/confirmation/payment/{payment_id} [4429:4429:1101/185049.031570:VERBOSE6:redeem_unblinded_payment_tokens.cc(106)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/payment/7a4c8a74-5d26-4521-9f5f-0b758e029a62 Content: {"payload":"{\"paymentId\":\"7a4c8a74-5d26-4521-9f5f-0b758e029a62\"}","paymentCredentials":[{"credential":{"signature":"FPRagVEsBA4G527V6qLsIHNhwqdynE1Gh4LTpxV8hsLer6yGDNQTVm4VlZHVQ1gB+m/7ApDW5o9+d8sAlYNYoA==","t":"d752KJALYVi/tFJQFqy+ik/bvM2Lz+cmVE+Y61lge+zh0Veu84j1t0Osf4pvNdMB9kN+58C0Cp0PeR9+B42ojw=="},"publicKey":"yjoFRpnBNgkaS7wf0cgyEFop99q1nuZj/APdxeEVSTc="}]} Content Type: application/json Method: kPut [4429:4429:1101/185049.441500:VERBOSE1:redeem_unblinded_payment_tokens.cc(117)] OnRedeemUnblindedPaymentTokens [4429:4429:1101/185049.441614:VERBOSE6:redeem_unblinded_payment_tokens.cc(119)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/7a4c8a74-5d26-4521-9f5f-0b758e029a62 Response Status Code: 200 Response: {"status":"ok"} [4429:4429:1101/185049.442049:VERBOSE1:account.cc(187)] Successfully redeemed unblinded payment tokens [4429:4429:1101/185049.442569:VERBOSE1:ad_rewards.cc(227)] Reconcile ad rewards [4429:4429:1101/185049.442685:VERBOSE1:ad_rewards.cc(235)] GetPayments [4429:4429:1101/185049.442813:VERBOSE2:ad_rewards.cc(236)] GET /v1/confirmation/payment/{payment_id} [4429:4429:1101/185049.445835:VERBOSE6:ad_rewards.cc(240)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/payment/7a4c8a74-5d26-4521-9f5f-0b758e029a62 Method: kGet [4429:4429:1101/185049.446595:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] Redeem unblinded payment tokens in 0 hours, 1 minute, 7 seconds at 6:51 PM [4429:4429:1101/185049.667735:VERBOSE1:ad_rewards.cc(249)] OnGetPayments [4429:4429:1101/185049.668015:VERBOSE6:ad_rewards.cc(251)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/7a4c8a74-5d26-4521-9f5f-0b758e029a62 Response Status Code: 200 Response: [{"balance":"0","month":"2021-11","transactionCount":"0"}] [4429:4429:1101/185049.668859:VERBOSE1:ad_rewards.cc(272)] Successfully reconciled ad rewards [4429:4429:1101/185059.033701:VERBOSE1:confirmations.cc(217)] No failed confirmations to retry [4429:4429:1101/185059.364449:VERBOSE1:ads_impl.cc(210)] Browser state changed to idle [4429:4429:1101/185156.445872:VERBOSE1:redeem_unblinded_payment_tokens.cc(87)] RedeemUnblindedPaymentTokens [4429:4429:1101/185156.445964:VERBOSE1:redeem_unblinded_payment_tokens.cc(90)] No unblinded payment tokens to redeem [4429:4429:1101/185156.446435:VERBOSE1:redeem_unblinded_payment_tokens.cc(79)] Redeem unblinded payment tokens in 1 hour, 45 minutes, 1 second at 8:36 PM [4429:4429:1101/185211.558558:VERBOSE1:ads_impl.cc(227)] Browser state changed to unidle after 86 s [4429:4429:1101/185211.559555:VERBOSE2:permission_rule_util.cc(25)] Browser window is not active [4429:4429:1101/185211.559646:VERBOSE1:ad_notification_serving.cc(101)] Ad notification not served: Not allowed due to permission rules [4798:4798:1101/185319.811733:VERBOSE1:ad_rewards.cc(249)] OnGetPayments [4798:4798:1101/185319.811916:VERBOSE6:ad_rewards.cc(251)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/7a4c8a74-5d26-4521-9f5f-0b758e029a62 Response Status Code: 200 Response: [{"month":"2021-11","transactionCount":"1","balance":"0.025"}] ```

After rotation

Verified GetPayments returns proper transaction count and balance ``` [5085:5085:1101/185458.331066:VERBOSE1:ad_rewards.cc(249)] OnGetPayments [5085:5085:1101/185458.331102:VERBOSE6:ad_rewards.cc(251)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: [{"balance":"0","month":"2021-11","transactionCount":"0"},{"month":"2021-10","transactionCount":"1","balance":"0.005" ``` Verified redeemed one ad from OCT ``` [5085:5085:1101/185557.860545:VERBOSE1:redeem_unblinded_payment_tokens.cc(87)] RedeemUnblindedPaymentTokens [5085:5085:1101/185557.860607:VERBOSE2:redeem_unblinded_payment_tokens.cc(96)] PUT /v1/confirmation/payment/{payment_id} [5085:5085:1101/185557.860814:VERBOSE6:redeem_unblinded_payment_tokens.cc(106)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Content: {"payload":"{\"paymentId\":\"93c04f04-ddd8-4724-8307-790246078c76\"}","paymentCredentials":[{"credential":{"signature":"pAjMBwE+WD/dLz/XxYnXXXz2RdqVAu5GcoNY8S4n3lWOwNtQQb6hEROEkDllFRjgQrpMpACmcUCPcFDpyIBswQ==","t":"nqHy5WoNpUfwVd1pAqx3eEculRjLmOsIESuefO9Sv+Bn1mHVHyiSiPRdK5Vwt5+LPkT5+zYBvc2bX2BE9KBcjw=="},"publicKey":"oOJO/xLaCXGW6yhpeIfM4K1X2ln7sgdjTCTCHe8BugE="}]} Content Type: application/json Method: kPut [5085:5085:1101/185558.859113:VERBOSE1:confirmations.cc(217)] No failed confirmations to retry [5085:5085:1101/185558.914682:VERBOSE1:ads_impl.cc(210)] Browser state changed to idle [5085:5085:1101/185612.233761:VERBOSE1:redeem_unblinded_payment_tokens.cc(117)] OnRedeemUnblindedPaymentTokens [5085:5085:1101/185612.233803:VERBOSE6:redeem_unblinded_payment_tokens.cc(119)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: {"status":"ok"} [5085:5085:1101/185612.485623:VERBOSE1:ad_rewards.cc(249)] OnGetPayments [5085:5085:1101/185612.485661:VERBOSE6:ad_rewards.cc(251)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: [{"month":"2021-11","transactionCount":"1","balance":"0.01"},{"month":"2021-10","transactionCount":"1","balance":"0.005"}] ``` Verified ad was shown and user was paid for it ``` [5085:5085:1101/185855.450076:VERBOSE3:new_tab_page_ad_event_viewed.cc(23)] Viewed new tab page ad with uuid cc39c59c-974c-437d-be93-d42c73d518d0 and creative instance id d3fffd5d-d371-4f9a-abc3-721bd1f110f1 [5085:5085:1101/185855.450676:VERBOSE1:confirmations.cc(90)] Confirming view for creative instance id d3fffd5d-d371-4f9a-abc3-721bd1f110f1 [5085:5085:1101/185855.456649:VERBOSE1:redeem_unblinded_token.cc(58)] Redeem unblinded token [5085:5085:1101/185855.457177:VERBOSE1:redeem_unblinded_token.cc(72)] CreateConfirmation [5085:5085:1101/185855.457446:VERBOSE2:redeem_unblinded_token.cc(73)] POST /v1/confirmation/{confirmation_id}/{credential} [5085:5085:1101/185855.457623:VERBOSE6:redeem_unblinded_token.cc(77)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/47789a10-366e-46f6-bbb5-53e12fc98ba4/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwicHFvYkJvTG55NjJlKzFPeUJmSjkramwwVjl2c1RtZEliWmQxdm5hcXkzND1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcImQzZmZmZDVkLWQzNzEtNGY5YS1hYmMzLTcyMWJkMWYxMTBmMVwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiNlcrWndJZy9QNTdrMlNkMW1VZU9PK0M1RG9INVdnRXRzMEY1cEdFUXpNNEZ3ZTV3U2swZEdVSHNGY0hEOEVIVG8rYTh5eUs1WDFTWVRTUktKdTdzREE9PSIsInQiOiJCbHIrdjl2Zkw3aDRwUkZUaGVJenNROHA1UUZhVENPM09yVDhYS29OVzdaTDFHZUZyYkZKNkVhZWpwYktHZzhqSGJRT3k2a3VDcXcrZ2RvSVdKUWx1UT09In0= Content: {"blindedPaymentToken":"pqobBoLny62e+1OyBfJ9+jl0V9vsTmdIbZd1vnaqy34=","buildChannel":"release","countryCode":"US","creativeInstanceId":"d3fffd5d-d371-4f9a-abc3-721bd1f110f1","payload":{},"platform":"linux","studies":[],"type":"view"} Content Type: application/json Method: kPost [5085:5085:1101/185855.460971:VERBOSE6:new_tab_page_ad_event_viewed.cc(31)] Successfully logged new tab page ad viewed event [5085:5085:1101/185855.471780:VERBOSE3:new_tab_page_ad_event_served.cc(23)] Served new tab page ad with uuid cc39c59c-974c-437d-be93-d42c73d518d0 and creative instance id d3fffd5d-d371-4f9a-abc3-721bd1f110f1 [5085:5085:1101/185855.492288:VERBOSE6:new_tab_page_ad_event_served.cc(31)] Successfully logged new tab page ad served event [5085:5085:1101/185855.679803:INFO:CONSOLE(3093)] "setting today viewport observer, should only happen once", source: chrome://newtab/brave_new_tab.bundle.js (3093) [5085:5085:1101/185855.921656:VERBOSE1:conversions.cc(201)] URL is not supported for conversions [5085:5085:1101/185855.922942:VERBOSE1:ads_impl.cc(183)] Visited URL is not supported [5085:5085:1101/185856.023086:VERBOSE1:uphold.cc(114)] Uphold wallet is not VERIFIED. [5085:5085:1101/185858.711392:VERBOSE1:browser_manager.cc(65)] Browser window is inactive [5085:5085:1101/185858.712089:VERBOSE6:user_activity.cc(44)] Triggered event: 17 (3.5:2:3600 s) [5085:5085:1101/185858.712557:VERBOSE1:browser_manager.cc(99)] Browser did enter background [5085:5085:1101/185858.712631:VERBOSE6:user_activity.cc(44)] Triggered event: 02 (4:2:3600 s) [5085:5085:1101/185859.717639:VERBOSE1:uphold.cc(114)] Uphold wallet is not VERIFIED. [5085:5085:1101/185903.890877:VERBOSE1:browser_manager.cc(52)] Browser window is active [5085:5085:1101/185903.891568:VERBOSE6:user_activity.cc(44)] Triggered event: 16 (4:2:3600 s) [5085:5085:1101/185903.892162:VERBOSE1:browser_manager.cc(86)] Browser did become active [5085:5085:1101/185903.892367:VERBOSE6:user_activity.cc(44)] Triggered event: 01 (4.5:2:3600 s) [5085:5085:1101/185904.759373:VERBOSE1:redeem_unblinded_token.cc(90)] OnCreateConfirmation [5085:5085:1101/185904.759700:VERBOSE6:redeem_unblinded_token.cc(92)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/47789a10-366e-46f6-bbb5-53e12fc98ba4/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwicHFvYkJvTG55NjJlKzFPeUJmSjkramwwVjl2c1RtZEliWmQxdm5hcXkzND1cIixcImJ1aWxkQ2hhbm5lbFwiOlwicmVsZWFzZVwiLFwiY291bnRyeUNvZGVcIjpcIlVTXCIsXCJjcmVhdGl2ZUluc3RhbmNlSWRcIjpcImQzZmZmZDVkLWQzNzEtNGY5YS1hYmMzLTcyMWJkMWYxMTBmMVwiLFwicGF5bG9hZFwiOnt9LFwicGxhdGZvcm1cIjpcImxpbnV4XCIsXCJzdHVkaWVzXCI6W10sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiNlcrWndJZy9QNTdrMlNkMW1VZU9PK0M1RG9INVdnRXRzMEY1cEdFUXpNNEZ3ZTV3U2swZEdVSHNGY0hEOEVIVG8rYTh5eUs1WDFTWVRTUktKdTdzREE9PSIsInQiOiJCbHIrdjl2Zkw3aDRwUkZUaGVJenNROHA1UUZhVENPM09yVDhYS29OVzdaTDFHZUZyYkZKNkVhZWpwYktHZzhqSGJRT3k2a3VDcXcrZ2RvSVdKUWx1UT09In0= Response Status Code: 201 Response: {"id":"47789a10-366e-46f6-bbb5-53e12fc98ba4","payload":{},"createdAt":"2021-11-01T17:59:05.747Z","type":"view","modifiedAt":"2021-11-01T17:59:05.747Z","creativeInstanceId":"d3fffd5d-d371-4f9a-abc3-721bd1f110f1"} [5085:5085:1101/185904.760005:VERBOSE1:redeem_unblinded_token.cc(120)] FetchPaymentToken [5085:5085:1101/185904.760103:VERBOSE2:redeem_unblinded_token.cc(121)] GET /v1/confirmation/{confirmation_id}/paymentToken [5085:5085:1101/185904.760211:VERBOSE6:redeem_unblinded_token.cc(125)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/47789a10-366e-46f6-bbb5-53e12fc98ba4/paymentToken Method: kGet [5085:5085:1101/185905.488523:VERBOSE1:redeem_unblinded_token.cc(136)] OnFetchPaymentToken [5085:5085:1101/185905.488662:VERBOSE6:redeem_unblinded_token.cc(138)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/47789a10-366e-46f6-bbb5-53e12fc98ba4/paymentToken Response Status Code: 200 Response: {"id":"47789a10-366e-46f6-bbb5-53e12fc98ba4","createdAt":"2021-11-01T17:59:05.747Z","type":"view","modifiedAt":"2021-11-01T17:59:07.015Z","creativeInstanceId":"d3fffd5d-d371-4f9a-abc3-721bd1f110f1","paymentToken":{"publicKey":"fDqapkkmGjeXGbkc2Y3hp21XylviQfQPi6jgpnZEim8=","batchProof":"tWhCLMogGneOj54JtpeBn+SGqTxJUIgujKJF9lzKIgEyBFINgvjnX4PZxdVXBzLV1el1nguW6OBPJ0P5Xqq6Dw==","signedTokens":["DEXxo5iCMegz3EtBQyZ+m1HKlga1ugF3ufNdeCLhgVA="]}} [5085:5085:1101/185905.488769:VERBOSE1:confirmations.cc(250)] Successfully redeemed unblinded token with confirmation id 47789a10-366e-46f6-bbb5-53e12fc98ba4, creative instance id d3fffd5d-d371-4f9a-abc3-721bd1f110f1 and view [5085:5085:1101/185905.489932:VERBOSE1:confirmations.cc(273)] Added 1 unblinded payment token with an estimated redemption value of 0.005 BAT, you now have 1 unblinded payment tokens ``` Verified UI updated Successfully redeemed payment tokens. Verified GetPayments returns proper transaction count and balance ``` [5085:5085:1101/190230.240262:VERBOSE1:redeem_unblinded_payment_tokens.cc(87)] RedeemUnblindedPaymentTokens [5085:5085:1101/190230.240330:VERBOSE2:redeem_unblinded_payment_tokens.cc(96)] PUT /v1/confirmation/payment/{payment_id} [5085:5085:1101/190230.240498:VERBOSE6:redeem_unblinded_payment_tokens.cc(106)] URL Request: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Content: {"payload":"{\"paymentId\":\"93c04f04-ddd8-4724-8307-790246078c76\"}","paymentCredentials":[{"credential":{"signature":"3FbD36e8nPqG9/Xo2EweYgMOqTbSJs5/mWZ2aFWI+sgfDYq9lcRVmoEx88/iXAPM4t8Y1fGIEngCA7fp/qEtMA==","t":"HoBNyJ/E4hihy0OGBATvUq6U/NQw7XTWc8tOo38nHrOORvCLQUB+AZdKP/GDUzRMCazgI960nBaTA2gBc15rsA=="},"publicKey":"fDqapkkmGjeXGbkc2Y3hp21XylviQfQPi6jgpnZEim8="},{"credential":{"signature":"1Rk1LkpVH5wXrfmJhnfWU18tNHwHZFcS5B57vemJQ5Jeqaeh8ZNBwWFK5hOZavl/sP9S90YM2AAOkkmilydJPg==","t":"PCCpCaiyVBcQt0jfXk4REDxP+onHOsErPl+rBe2PKJV/x3VgxgjNe8Vidbk7cGKTWFnNMZFfIg8bLWyJyuySew=="},"publicKey":"fDqapkkmGjeXGbkc2Y3hp21XylviQfQPi6jgpnZEim8="}]} Content Type: application/json Method: kPut [5085:5085:1101/190230.660366:VERBOSE1:redeem_unblinded_payment_tokens.cc(117)] OnRedeemUnblindedPaymentTokens [5085:5085:1101/190230.660663:VERBOSE6:redeem_unblinded_payment_tokens.cc(119)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: {"status":"ok"} [5085:5085:1101/190230.886981:VERBOSE1:ad_rewards.cc(249)] OnGetPayments [5085:5085:1101/190230.887587:VERBOSE6:ad_rewards.cc(251)] URL Response: URL: https://ads-serve.brave.com/v1/confirmation/payment/93c04f04-ddd8-4724-8307-790246078c76 Response Status Code: 200 Response: [{"month":"2021-11","transactionCount":"2","balance":"0.015"},{"month":"2021-10","transactionCount":"1","balance":"0.005"}] ``` Verified UI updated
LaurenWags commented 2 years ago

thanks for good summary @btlechowski 👍🏻