Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Commit

Permalink
Merge pull request #12154 from NejcZdovc/hotfix/#12078-funds
Browse files Browse the repository at this point in the history
Fixes add funds dialog
  • Loading branch information
bsclifton committed Dec 5, 2017
1 parent 7ccb2a4 commit 893bfa4
Show file tree
Hide file tree
Showing 6 changed files with 572 additions and 348 deletions.
7 changes: 4 additions & 3 deletions app/browser/api/ledgerNotifications.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ const nextAddFundsTime = 3 * ledgerUtil.milliseconds.day
const sufficientBalanceToReconcile = (state) => {
const balance = Number(ledgerState.getInfoProp(state, 'balance') || 0)
const unconfirmed = Number(ledgerState.getInfoProp(state, 'unconfirmed') || 0)
const bat = ledgerState.getInfoProp(state, 'bat')
return bat && (balance + unconfirmed > 0.9 * Number(bat))
const budget = parseInt(getSetting(settings.PAYMENTS_CONTRIBUTION_AMOUNT), 10) || 25
return balance + unconfirmed >= budget
}
const hasFunds = (state) => {
const balance = getSetting(settings.PAYMENTS_ENABLED)
Expand Down Expand Up @@ -435,7 +435,8 @@ const getMethods = () => {
getPollingInterval: () => {
return pollingInterval
},
onDynamicResponse
onDynamicResponse,
sufficientBalanceToReconcile
}
}

Expand Down
19 changes: 15 additions & 4 deletions app/common/lib/ledgerUtil.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,18 +90,28 @@ const formattedDateFromTimestamp = (timestamp, format) => {
const walletStatus = (ledgerData) => {
let status = {}

if (ledgerData == null) {
return {
id: 'createWalletStatus'
}
}

if (ledgerData.get('error')) {
status.id = 'statusOnError'
} else if (ledgerData.get('created')) {
const transactions = ledgerData.get('transactions')
const pendingFunds = Number(ledgerData.get('unconfirmed') || 0).toFixed(2)
const pendingFunds = Number(ledgerData.get('unconfirmed') || 0)
const balance = Number(ledgerData.get('balance') || 0)
const minBalance = parseInt(getSetting(settings.PAYMENTS_CONTRIBUTION_AMOUNT), 10) || 25

if (pendingFunds + Number(ledgerData.get('balance') || 0) <
0.9 * Number(ledgerData.get('bat') || 0)) {
if (pendingFunds + balance < minBalance) {
status.id = 'insufficientFundsStatus'
} else if (pendingFunds > 0) {
const converted = batToCurrencyString(pendingFunds, ledgerData)
status.id = 'pendingFundsStatus'
status.args = {funds: `${pendingFunds} BAT (${batToCurrencyString(pendingFunds, ledgerData)})`}
status.args = {
funds: `${pendingFunds.toFixed(2)} BAT${converted ? ` (${converted})` : ''}`
}
} else if (transactions && transactions.size > 0) {
status.id = 'defaultWalletStatus'
} else {
Expand All @@ -112,6 +122,7 @@ const walletStatus = (ledgerData) => {
} else {
status.id = 'createWalletStatus'
}

return status
}

Expand Down
Loading

0 comments on commit 893bfa4

Please sign in to comment.