Skip to content

Commit 83ef68b

Browse files
committed
Removes transition btc->bat code
Resolves brave#12712 Auditors: Test Plan:
1 parent 3e61088 commit 83ef68b

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 = {
@@ -1190,8 +1188,6 @@ const checkPromotions = () => {
11901188

11911189
const enable = (state, paymentsEnabled) => {
11921190
if (paymentsEnabled) {
1193-
state = checkBtcBatMigrated(state, paymentsEnabled)
1194-
11951191
if (!getSetting(settings.PAYMENTS_NOTIFICATION_TRY_PAYMENTS_DISMISSED)) {
11961192
appActions.changeSetting(settings.PAYMENTS_NOTIFICATION_TRY_PAYMENTS_DISMISSED, true)
11971193
}
@@ -1884,19 +1880,6 @@ const onCallback = (state, result, delayTime) => {
18841880
// persist the new ledger state
18851881
muonWriter(statePath, regularResults)
18861882

1887-
// delete the temp file used during transition (if it still exists)
1888-
if (client && client.options && client.options.version === 'v2') {
1889-
const fs = require('fs')
1890-
fs.access(pathName(newClientPath), fs.FF_OK, (err) => {
1891-
if (err) {
1892-
return
1893-
}
1894-
fs.unlink(pathName(newClientPath), (err) => {
1895-
if (err) console.error('unlink error: ' + err.toString())
1896-
})
1897-
})
1898-
}
1899-
19001883
run(state, delayTime)
19011884

19021885
return state
@@ -1988,7 +1971,6 @@ const initialize = (state, paymentsEnabled) => {
19881971

19891972
if (!paymentsEnabled) {
19901973
client = null
1991-
newClient = false
19921974
return ledgerState.resetInfo(state, true)
19931975
}
19941976

@@ -2362,147 +2344,6 @@ const deleteSynopsis = () => {
23622344
synopsis.publishers = {}
23632345
}
23642346

2365-
// fix for incorrectly persisted state (see #11585)
2366-
const yoDawg = (stateState) => {
2367-
while (stateState.hasOwnProperty('state') && stateState.state.persona) {
2368-
stateState = stateState.state
2369-
}
2370-
return stateState
2371-
}
2372-
2373-
const checkBtcBatMigrated = (state, paymentsEnabled) => {
2374-
if (!paymentsEnabled) {
2375-
return state
2376-
}
2377-
2378-
// One time conversion of wallet
2379-
const isNewInstall = migrationState.isNewInstall(state)
2380-
const hasUpgradedWallet = migrationState.hasUpgradedWallet(state)
2381-
if (!isNewInstall && !hasUpgradedWallet) {
2382-
state = migrationState.setTransitionStatus(state, true)
2383-
module.exports.transitionWalletToBat()
2384-
} else {
2385-
state = migrationState.setTransitionStatus(state, false)
2386-
}
2387-
2388-
return state
2389-
}
2390-
2391-
let newClient = null
2392-
const getNewClient = () => {
2393-
return newClient
2394-
}
2395-
2396-
let busyRetryCount = 0
2397-
2398-
const transitionWalletToBat = () => {
2399-
let newPaymentId, result
2400-
2401-
if (newClient === true) return
2402-
clientprep()
2403-
2404-
if (!client) {
2405-
console.log('Client is not initialized, will try again')
2406-
return
2407-
}
2408-
2409-
// only attempt this transition if the wallet is v1
2410-
if (client.options && client.options.version !== 'v1') {
2411-
// older versions incorrectly marked this for transition
2412-
// this will clean them up (no more bouncy ball)
2413-
appActions.onBitcoinToBatTransitioned()
2414-
return
2415-
}
2416-
2417-
// Restore newClient from the file (if one exists)
2418-
if (!newClient) {
2419-
const fs = require('fs')
2420-
try {
2421-
fs.accessSync(pathName(newClientPath), fs.FF_OK)
2422-
fs.readFile(pathName(newClientPath), (error, data) => {
2423-
if (error) {
2424-
console.error(`ledger client: can't read ${newClientPath} to restore newClient`)
2425-
return
2426-
}
2427-
const parsedData = JSON.parse(data)
2428-
const state = yoDawg(parsedData)
2429-
newClient = ledgerClient(state.personaId,
2430-
underscore.extend(state.options, {roundtrip: module.exports.roundtrip}, clientOptions),
2431-
state)
2432-
transitionWalletToBat()
2433-
})
2434-
return
2435-
} catch (err) {}
2436-
}
2437-
2438-
// Create new client
2439-
if (!newClient) {
2440-
try {
2441-
newClient = ledgerClient(null, underscore.extend({roundtrip: module.exports.roundtrip}, clientOptions), null)
2442-
muonWriter(newClientPath, newClient.state)
2443-
} catch (ex) {
2444-
console.error('ledger client creation error(2): ', ex)
2445-
return
2446-
}
2447-
}
2448-
2449-
newPaymentId = newClient.getPaymentId()
2450-
if (!newPaymentId) {
2451-
newClient.sync((err, result, delayTime) => {
2452-
if (err) {
2453-
return console.error('ledger client error(3): ' + JSON.stringify(err, null, 2) + (err.stack ? ('\n' + err.stack) : ''))
2454-
}
2455-
2456-
if (typeof delayTime === 'undefined') delayTime = random.randomInt({ min: 1, max: 500 })
2457-
2458-
if (newClient) {
2459-
muonWriter(newClientPath, newClient.state)
2460-
}
2461-
2462-
setTimeout(() => transitionWalletToBat(), delayTime)
2463-
})
2464-
return
2465-
}
2466-
2467-
if (client.busyP()) {
2468-
if (++busyRetryCount > 3) {
2469-
console.log('ledger client is currently busy; transition will be retried on next launch')
2470-
return
2471-
}
2472-
const delayTime = random.randomInt({
2473-
min: ledgerUtil.milliseconds.minute,
2474-
max: 10 * ledgerUtil.milliseconds.minute
2475-
})
2476-
console.log('ledger client is currently busy; transition will be retried shortly (this was attempt ' + busyRetryCount + ')')
2477-
setTimeout(() => transitionWalletToBat(), delayTime)
2478-
return
2479-
}
2480-
2481-
appActions.onBitcoinToBatBeginTransition()
2482-
2483-
try {
2484-
client.transition(newPaymentId, (err, properties) => {
2485-
if (err || !newClient) {
2486-
console.error('ledger client transition error: ', err)
2487-
} else {
2488-
result = newClient.transitioned(properties)
2489-
client = newClient
2490-
newClient = true
2491-
// NOTE: onLedgerCallback will save latest client to disk as ledger-state.json
2492-
appActions.onLedgerCallback(result, random.randomInt({
2493-
min: ledgerUtil.milliseconds.minute,
2494-
max: 10 * ledgerUtil.milliseconds.minute
2495-
}))
2496-
appActions.onBitcoinToBatTransitioned()
2497-
ledgerNotifications.showBraveWalletUpdated()
2498-
getPublisherTimestamp()
2499-
}
2500-
})
2501-
} catch (ex) {
2502-
console.error('exception during ledger client transition: ', ex)
2503-
}
2504-
}
2505-
25062347
let currentMediaKey = null
25072348
const onMediaRequest = (state, xhr, type, tabId) => {
25082349
if (!xhr || type == null) {
@@ -2843,13 +2684,10 @@ const getMethods = () => {
28432684
migration,
28442685
onInitRead,
28452686
deleteSynopsis,
2846-
transitionWalletToBat,
2847-
getNewClient,
28482687
normalizePinned,
28492688
roundToTarget,
28502689
savePublisherData,
28512690
pruneSynopsis,
2852-
checkBtcBatMigrated,
28532691
onMediaRequest,
28542692
onMediaPublisher,
28552693
saveVisit,
@@ -2871,7 +2709,6 @@ const getMethods = () => {
28712709
privateMethods = {
28722710
enable,
28732711
addSiteVisit,
2874-
checkBtcBatMigrated,
28752712
clearVisitsByPublisher: function () {
28762713
visitsByPublisher = {}
28772714
},
@@ -2882,9 +2719,6 @@ const getMethods = () => {
28822719
setSynopsis: (data) => {
28832720
synopsis = data
28842721
},
2885-
resetNewClient: () => {
2886-
newClient = false
2887-
},
28882722
getClient: () => {
28892723
return client
28902724
},

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
@@ -225,10 +224,6 @@ const ledgerReducer = (state, action, immutableAction) => {
225224
case appConstants.APP_ON_LEDGER_WALLET_CREATE:
226225
{
227226
ledgerApi.boot()
228-
if (ledgerApi.getNewClient() === null) {
229-
state = migrationState.setConversionTimestamp(state, new Date().getTime())
230-
state = migrationState.setTransitionStatus(state, false)
231-
}
232227
break
233228
}
234229
case appConstants.APP_ON_BOOT_STATE_FILE:
@@ -302,22 +297,6 @@ const ledgerReducer = (state, action, immutableAction) => {
302297
state = ledgerApi.onInitRead(state, action.parsedData)
303298
break
304299
}
305-
case appConstants.APP_ON_BTC_TO_BAT_NOTIFIED:
306-
{
307-
state = migrationState.setNotifiedTimestamp(state, new Date().getTime())
308-
break
309-
}
310-
case appConstants.APP_ON_BTC_TO_BAT_BEGIN_TRANSITION:
311-
{
312-
state = migrationState.setTransitionStatus(state, true)
313-
break
314-
}
315-
case appConstants.APP_ON_BTC_TO_BAT_TRANSITIONED:
316-
{
317-
state = migrationState.setConversionTimestamp(state, new Date().getTime())
318-
state = migrationState.setTransitionStatus(state, false)
319-
break
320-
}
321300
case appConstants.APP_ON_LEDGER_QR_GENERATED:
322301
{
323302
state = ledgerState.saveQRCode(state, action.get('currency'), action.get('image'))

0 commit comments

Comments
 (0)