Skip to content

Commit 00344c8

Browse files
committed
Removes transition btc->bat code
Resolves brave#12712 Auditors: Test Plan:
1 parent 64d434a commit 00344c8

File tree

17 files changed

+20
-929
lines changed

17 files changed

+20
-929
lines changed

app/browser/api/ledger.js

-166
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ const appActions = require('../../../js/actions/appActions')
2626
// State
2727
const ledgerState = require('../../common/state/ledgerState')
2828
const pageDataState = require('../../common/state/pageDataState')
29-
const migrationState = require('../../common/state/migrationState')
3029
const updateState = require('../../common/state/updateState')
3130

3231
// Constants
@@ -85,7 +84,6 @@ let verifiedTimeoutId = false
8584
let v2RulesetDB
8685
const v2RulesetPath = 'ledger-rulesV2.leveldb'
8786
const statePath = 'ledger-state.json'
88-
const newClientPath = 'ledger-newstate.json'
8987

9088
// Definitions
9189
const clientOptions = {
@@ -1223,8 +1221,6 @@ const checkPromotions = () => {
12231221

12241222
const enable = (state, paymentsEnabled) => {
12251223
if (paymentsEnabled) {
1226-
state = checkBtcBatMigrated(state, paymentsEnabled)
1227-
12281224
if (!getSetting(settings.PAYMENTS_NOTIFICATION_TRY_PAYMENTS_DISMISSED)) {
12291225
appActions.changeSetting(settings.PAYMENTS_NOTIFICATION_TRY_PAYMENTS_DISMISSED, true)
12301226
}
@@ -1912,19 +1908,6 @@ const onCallback = (state, result, delayTime) => {
19121908
// persist the new ledger state
19131909
muonWriter(statePath, regularResults)
19141910

1915-
// delete the temp file used during transition (if it still exists)
1916-
if (client && client.options && client.options.version === 'v2') {
1917-
const fs = require('fs')
1918-
fs.access(pathName(newClientPath), fs.FF_OK, (err) => {
1919-
if (err) {
1920-
return
1921-
}
1922-
fs.unlink(pathName(newClientPath), (err) => {
1923-
if (err) console.error('unlink error: ' + err.toString())
1924-
})
1925-
})
1926-
}
1927-
19281911
run(state, delayTime)
19291912

19301913
return state
@@ -2016,7 +1999,6 @@ const initialize = (state, paymentsEnabled) => {
20161999

20172000
if (!paymentsEnabled) {
20182001
client = null
2019-
newClient = false
20202002
return ledgerState.resetInfo(state, true)
20212003
}
20222004

@@ -2390,147 +2372,6 @@ const deleteSynopsis = () => {
23902372
synopsis.publishers = {}
23912373
}
23922374

2393-
// fix for incorrectly persisted state (see #11585)
2394-
const yoDawg = (stateState) => {
2395-
while (stateState.hasOwnProperty('state') && stateState.state.persona) {
2396-
stateState = stateState.state
2397-
}
2398-
return stateState
2399-
}
2400-
2401-
const checkBtcBatMigrated = (state, paymentsEnabled) => {
2402-
if (!paymentsEnabled) {
2403-
return state
2404-
}
2405-
2406-
// One time conversion of wallet
2407-
const isNewInstall = migrationState.isNewInstall(state)
2408-
const hasUpgradedWallet = migrationState.hasUpgradedWallet(state)
2409-
if (!isNewInstall && !hasUpgradedWallet) {
2410-
state = migrationState.setTransitionStatus(state, true)
2411-
module.exports.transitionWalletToBat()
2412-
} else {
2413-
state = migrationState.setTransitionStatus(state, false)
2414-
}
2415-
2416-
return state
2417-
}
2418-
2419-
let newClient = null
2420-
const getNewClient = () => {
2421-
return newClient
2422-
}
2423-
2424-
let busyRetryCount = 0
2425-
2426-
const transitionWalletToBat = () => {
2427-
let newPaymentId, result
2428-
2429-
if (newClient === true) return
2430-
clientprep()
2431-
2432-
if (!client) {
2433-
console.log('Client is not initialized, will try again')
2434-
return
2435-
}
2436-
2437-
// only attempt this transition if the wallet is v1
2438-
if (client.options && client.options.version !== 'v1') {
2439-
// older versions incorrectly marked this for transition
2440-
// this will clean them up (no more bouncy ball)
2441-
appActions.onBitcoinToBatTransitioned()
2442-
return
2443-
}
2444-
2445-
// Restore newClient from the file (if one exists)
2446-
if (!newClient) {
2447-
const fs = require('fs')
2448-
try {
2449-
fs.accessSync(pathName(newClientPath), fs.FF_OK)
2450-
fs.readFile(pathName(newClientPath), (error, data) => {
2451-
if (error) {
2452-
console.error(`ledger client: can't read ${newClientPath} to restore newClient`)
2453-
return
2454-
}
2455-
const parsedData = JSON.parse(data)
2456-
const state = yoDawg(parsedData)
2457-
newClient = ledgerClient(state.personaId,
2458-
underscore.extend(state.options, {roundtrip: module.exports.roundtrip}, clientOptions),
2459-
state)
2460-
transitionWalletToBat()
2461-
})
2462-
return
2463-
} catch (err) {}
2464-
}
2465-
2466-
// Create new client
2467-
if (!newClient) {
2468-
try {
2469-
newClient = ledgerClient(null, underscore.extend({roundtrip: module.exports.roundtrip}, clientOptions), null)
2470-
muonWriter(newClientPath, newClient.state)
2471-
} catch (ex) {
2472-
console.error('ledger client creation error(2): ', ex)
2473-
return
2474-
}
2475-
}
2476-
2477-
newPaymentId = newClient.getPaymentId()
2478-
if (!newPaymentId) {
2479-
newClient.sync((err, result, delayTime) => {
2480-
if (err) {
2481-
return console.error('ledger client error(3): ' + JSON.stringify(err, null, 2) + (err.stack ? ('\n' + err.stack) : ''))
2482-
}
2483-
2484-
if (typeof delayTime === 'undefined') delayTime = random.randomInt({ min: 1, max: 500 })
2485-
2486-
if (newClient) {
2487-
muonWriter(newClientPath, newClient.state)
2488-
}
2489-
2490-
setTimeout(() => transitionWalletToBat(), delayTime)
2491-
})
2492-
return
2493-
}
2494-
2495-
if (client.busyP()) {
2496-
if (++busyRetryCount > 3) {
2497-
console.log('ledger client is currently busy; transition will be retried on next launch')
2498-
return
2499-
}
2500-
const delayTime = random.randomInt({
2501-
min: ledgerUtil.milliseconds.minute,
2502-
max: 10 * ledgerUtil.milliseconds.minute
2503-
})
2504-
console.log('ledger client is currently busy; transition will be retried shortly (this was attempt ' + busyRetryCount + ')')
2505-
setTimeout(() => transitionWalletToBat(), delayTime)
2506-
return
2507-
}
2508-
2509-
appActions.onBitcoinToBatBeginTransition()
2510-
2511-
try {
2512-
client.transition(newPaymentId, (err, properties) => {
2513-
if (err || !newClient) {
2514-
console.error('ledger client transition error: ', err)
2515-
} else {
2516-
result = newClient.transitioned(properties)
2517-
client = newClient
2518-
newClient = true
2519-
// NOTE: onLedgerCallback will save latest client to disk as ledger-state.json
2520-
appActions.onLedgerCallback(result, random.randomInt({
2521-
min: ledgerUtil.milliseconds.minute,
2522-
max: 10 * ledgerUtil.milliseconds.minute
2523-
}))
2524-
appActions.onBitcoinToBatTransitioned()
2525-
ledgerNotifications.showBraveWalletUpdated()
2526-
getPublisherTimestamp()
2527-
}
2528-
})
2529-
} catch (ex) {
2530-
console.error('exception during ledger client transition: ', ex)
2531-
}
2532-
}
2533-
25342375
let currentMediaKey = null
25352376
const onMediaRequest = (state, xhr, type, tabId) => {
25362377
if (!xhr || type == null) {
@@ -2869,13 +2710,10 @@ const getMethods = () => {
28692710
migration,
28702711
onInitRead,
28712712
deleteSynopsis,
2872-
transitionWalletToBat,
2873-
getNewClient,
28742713
normalizePinned,
28752714
roundToTarget,
28762715
savePublisherData,
28772716
pruneSynopsis,
2878-
checkBtcBatMigrated,
28792717
onMediaRequest,
28802718
onMediaPublisher,
28812719
saveVisit,
@@ -2897,7 +2735,6 @@ const getMethods = () => {
28972735
privateMethods = {
28982736
enable,
28992737
addSiteVisit,
2900-
checkBtcBatMigrated,
29012738
clearVisitsByPublisher: function () {
29022739
visitsByPublisher = {}
29032740
},
@@ -2908,9 +2745,6 @@ const getMethods = () => {
29082745
setSynopsis: (data) => {
29092746
synopsis = data
29102747
},
2911-
resetNewClient: () => {
2912-
newClient = false
2913-
},
29142748
getClient: () => {
29152749
return client
29162750
},

app/browser/api/ledgerNotifications.js

+1-52
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ const settings = require('../../../js/constants/settings')
1212

1313
// State
1414
const ledgerState = require('../../common/state/ledgerState')
15-
const migrationState = require('../../common/state/migrationState')
1615

1716
// Actions
1817
const appActions = require('../../../js/actions/appActions')
@@ -27,8 +26,7 @@ const text = {
2726
paymentDone: undefined,
2827
addFunds: locale.translation('addFundsNotification'),
2928
tryPayments: locale.translation('notificationTryPayments'),
30-
reconciliation: locale.translation('reconciliationNotification'),
31-
walletConvertedToBat: locale.translation('walletConvertedToBat')
29+
reconciliation: locale.translation('reconciliationNotification')
3230
}
3331

3432
const pollingInterval = 15 * ledgerUtil.milliseconds.minute // 15 * minutes
@@ -76,28 +74,11 @@ const onLaunch = (state) => {
7674
return state
7775
}
7876

79-
const ledger = require('./ledger')
80-
state = ledger.checkBtcBatMigrated(state, enabled)
81-
8277
if (hasFunds(state)) {
8378
// Don't bother processing the rest, which are only
8479
if (!getSetting(settings.PAYMENTS_NOTIFICATIONS)) {
8580
return state
8681
}
87-
88-
// Show one-time BAT conversion message:
89-
// - if payments are enabled
90-
// - user has a positive balance
91-
// - this is an existing profile (new profiles will have firstRunTimestamp matching batMercuryTimestamp)
92-
// - wallet has been transitioned
93-
// - notification has not already been shown yet
94-
// (see https://github.com/brave/browser-laptop/issues/11021)
95-
const isNewInstall = migrationState.isNewInstall(state)
96-
const hasUpgradedWallet = migrationState.hasUpgradedWallet(state)
97-
const hasBeenNotified = migrationState.hasBeenNotified(state)
98-
if (!isNewInstall && hasUpgradedWallet && !hasBeenNotified) {
99-
module.exports.showBraveWalletUpdated()
100-
}
10182
}
10283

10384
return state
@@ -181,16 +162,6 @@ const onResponse = (message, buttonIndex, activeWindow) => {
181162
appActions.changeSetting(settings.PAYMENTS_NOTIFICATION_TRY_PAYMENTS_DISMISSED, true)
182163
break
183164

184-
case text.walletConvertedToBat:
185-
if (buttonIndex === 0) {
186-
// Open backup modal
187-
appActions.createTabRequested({
188-
url: 'about:preferences#payments?ledgerBackupOverlayVisible',
189-
windowId: activeWindow.id
190-
})
191-
}
192-
break
193-
194165
default:
195166
return
196167
}
@@ -324,27 +295,6 @@ const showPaymentDone = (transactionContributionFiat) => {
324295
})
325296
}
326297

327-
const showBraveWalletUpdated = () => {
328-
appActions.onBitcoinToBatNotified()
329-
330-
appActions.showNotification({
331-
position: 'global',
332-
greeting: text.hello,
333-
message: text.walletConvertedToBat,
334-
// Learn More.
335-
buttons: [
336-
{text: locale.translation('walletConvertedBackup')},
337-
{text: locale.translation('walletConvertedDismiss')}
338-
],
339-
options: {
340-
style: 'greetingStyle',
341-
persist: false,
342-
advancedLink: 'https://brave.com/faq-payments/#brave-payments',
343-
advancedText: locale.translation('walletConvertedLearnMore')
344-
}
345-
})
346-
}
347-
348298
const onPromotionReceived = (state) => {
349299
const promotion = ledgerState.getPromotionNotification(state)
350300

@@ -410,7 +360,6 @@ const getMethods = () => {
410360
showPaymentDone,
411361
init,
412362
onLaunch,
413-
showBraveWalletUpdated,
414363
onInterval,
415364
onPromotionReceived,
416365
removePromotionNotification,

app/browser/reducers/ledgerReducer.js

-21
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ const settings = require('../../../js/constants/settings')
1313
// State
1414
const ledgerState = require('../../common/state/ledgerState')
1515
const pageDataState = require('../../common/state/pageDataState')
16-
const migrationState = require('../../common/state/migrationState')
1716
const updateState = require('../../common/state/updateState')
1817

1918
// Utils
@@ -230,10 +229,6 @@ const ledgerReducer = (state, action, immutableAction) => {
230229
case appConstants.APP_ON_LEDGER_WALLET_CREATE:
231230
{
232231
ledgerApi.boot()
233-
if (ledgerApi.getNewClient() === null) {
234-
state = migrationState.setConversionTimestamp(state, new Date().getTime())
235-
state = migrationState.setTransitionStatus(state, false)
236-
}
237232
break
238233
}
239234
case appConstants.APP_ON_BOOT_STATE_FILE:
@@ -307,22 +302,6 @@ const ledgerReducer = (state, action, immutableAction) => {
307302
state = ledgerApi.onInitRead(state, action.parsedData)
308303
break
309304
}
310-
case appConstants.APP_ON_BTC_TO_BAT_NOTIFIED:
311-
{
312-
state = migrationState.setNotifiedTimestamp(state, new Date().getTime())
313-
break
314-
}
315-
case appConstants.APP_ON_BTC_TO_BAT_BEGIN_TRANSITION:
316-
{
317-
state = migrationState.setTransitionStatus(state, true)
318-
break
319-
}
320-
case appConstants.APP_ON_BTC_TO_BAT_TRANSITIONED:
321-
{
322-
state = migrationState.setConversionTimestamp(state, new Date().getTime())
323-
state = migrationState.setTransitionStatus(state, false)
324-
break
325-
}
326305
case appConstants.APP_ON_LEDGER_QR_GENERATED:
327306
{
328307
state = ledgerState.saveQRCode(state, action.get('currency'), action.get('image'))

0 commit comments

Comments
 (0)