Browse Source

Merge pull request #621 from gre/fix-ripple

Fix ripple and other rendering bugs
master
Gaëtan Renaudeau 7 years ago
committed by GitHub
parent
commit
beca84ba60
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 37
      src/bridge/RippleJSBridge.js
  2. 2
      src/components/OperationsList/index.js
  3. 8
      src/components/TranslatedError.js
  4. 9
      static/i18n/en/errors.yml
  5. 13
      static/i18n/fr/errors.yml

37
src/bridge/RippleJSBridge.js

@ -256,6 +256,7 @@ const RippleJSBridge: WalletBridge<Transaction> = {
const derivations = getDerivations(currency) const derivations = getDerivations(currency)
for (const derivation of derivations) { for (const derivation of derivations) {
const legacy = derivation !== derivations[derivations.length - 1]
for (let index = 0; index < 255; index++) { for (let index = 0; index < 255; index++) {
const freshAddressPath = derivation({ currency, x: index, segwit: false }) const freshAddressPath = derivation({ currency, x: index, segwit: false })
const { address, publicKey } = await await getAddress const { address, publicKey } = await await getAddress
@ -280,22 +281,24 @@ const RippleJSBridge: WalletBridge<Transaction> = {
if (!info) { if (!info) {
// account does not exist in Ripple server // account does not exist in Ripple server
// we are generating a new account locally // we are generating a new account locally
next({ if (!legacy) {
id: accountId, next({
xpub: '', id: accountId,
name: getNewAccountPlaceholderName(currency, index), xpub: '',
freshAddress, name: getNewAccountPlaceholderName(currency, index),
freshAddressPath, freshAddress,
balance: 0, freshAddressPath,
blockHeight: maxLedgerVersion, balance: 0,
index, blockHeight: maxLedgerVersion,
currency, index,
operations: [], currency,
pendingOperations: [], operations: [],
unit: currency.units[0], pendingOperations: [],
archived: false, unit: currency.units[0],
lastSyncDate: new Date(), archived: false,
}) lastSyncDate: new Date(),
})
}
break break
} }
@ -315,7 +318,7 @@ const RippleJSBridge: WalletBridge<Transaction> = {
const account: $Exact<Account> = { const account: $Exact<Account> = {
id: accountId, id: accountId,
xpub: '', xpub: '',
name: getAccountPlaceholderName(currency, index), name: getAccountPlaceholderName(currency, index, legacy),
freshAddress, freshAddress,
freshAddressPath, freshAddressPath,
balance, balance,

2
src/components/OperationsList/index.js

@ -119,7 +119,7 @@ export class OperationsList extends PureComponent<Props, State> {
<OperationC <OperationC
operation={operation} operation={operation}
account={account} account={account}
key={operation.id} key={`${account.id}_${operation.id}`}
onOperationClick={this.handleClickOperation} onOperationClick={this.handleClickOperation}
t={t} t={t}
withAccount={withAccount} withAccount={withAccount}

8
src/components/TranslatedError.js

@ -4,6 +4,7 @@
// - an error can have parameters, to use them, just use field of the Error object, that's what we give to `t()` // - an error can have parameters, to use them, just use field of the Error object, that's what we give to `t()`
// - returned value is intentially not styled (is universal). wrap this in whatever you need // - returned value is intentially not styled (is universal). wrap this in whatever you need
import logger from 'logger'
import { PureComponent } from 'react' import { PureComponent } from 'react'
import { translate } from 'react-i18next' import { translate } from 'react-i18next'
import type { T } from 'types/common' import type { T } from 'types/common'
@ -18,7 +19,12 @@ class TranslatedError extends PureComponent<Props> {
const { t, error } = this.props const { t, error } = this.props
if (!error) return null if (!error) return null
if (typeof error === 'string') return error if (typeof error === 'string') return error
return t(`errors:${error.name}`, error) const translation = t(`errors:${error.name}`, error)
if (translation) {
return translation
}
logger.warn('TranslatedError: no transation!', error.name, error)
return error.message || error.name || t('errors:generic')
} }
} }

9
static/i18n/en/errors.yml

@ -1,7 +1,8 @@
RangeError: {{message}} generic: An error occurred
Error: {{message}} RangeError: '{{message}}'
LedgerAPIErrorWithMessage: {{message}} Error: '{{message}}'
TransportStatusError: {{message}} LedgerAPIErrorWithMessage: '{{message}}'
TransportStatusError: '{{message}}'
FeeEstimationFailed: 'fee estimation failed (status: {{status}})' FeeEstimationFailed: 'fee estimation failed (status: {{status}})'
NotEnoughBalance: 'Not enough balance' NotEnoughBalance: 'Not enough balance'
BtcUnmatchedApp: 'You must open application ‘{{currencyName}}’ on the device' BtcUnmatchedApp: 'You must open application ‘{{currencyName}}’ on the device'

13
static/i18n/fr/errors.yml

@ -1,12 +1,9 @@
--- ---
RangeError: generic: An error occurred
- message RangeError: '{{message}}'
Error: Error: '{{message}}'
- message LedgerAPIErrorWithMessage: '{{message}}'
LedgerAPIErrorWithMessage: TransportStatusError: '{{message}}'
- message
TransportStatusError:
- message
FeeEstimationFailed: 'fee estimation failed (status: {{status}})' FeeEstimationFailed: 'fee estimation failed (status: {{status}})'
NotEnoughBalance: 'Not enough balance' NotEnoughBalance: 'Not enough balance'
BtcUnmatchedApp: 'You must open application ‘{{currencyName}}’ on the device' BtcUnmatchedApp: 'You must open application ‘{{currencyName}}’ on the device'

Loading…
Cancel
Save