aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/helpers
diff options
context:
space:
mode:
authorThomas Huang <tmashuang@users.noreply.github.com>2018-12-12 06:56:47 +0800
committerDan Finlay <542863+danfinlay@users.noreply.github.com>2018-12-12 06:56:47 +0800
commit2f5abd9ad8ac64c16edcc0d9fff923e62c5ca984 (patch)
tree16d323cd3325b1b9121434e86c3047dc333c2b1d /ui/app/helpers
parented9bfdcebd5eed1d749f275f9d388ea0dd8f8275 (diff)
downloadtangerine-wallet-browser-5.2.0.tar
tangerine-wallet-browser-5.2.0.tar.gz
tangerine-wallet-browser-5.2.0.tar.bz2
tangerine-wallet-browser-5.2.0.tar.lz
tangerine-wallet-browser-5.2.0.tar.xz
tangerine-wallet-browser-5.2.0.tar.zst
tangerine-wallet-browser-5.2.0.zip
Version Bump (#5909)v5.2.0
* Adds new gas customization modal container (without content) * Adds the content of the advanced tab - w/o chart or dynamic content - to gas customize modal. * Use correct message key in gas-modal-page-container.component.js * Use BEM for css in gas-modal-page-container * Split advanced-tab-content.component.js render() method into smaller pieces; add translations to the same file. * Remove gas slider from advance-tab-content.component * Add tests for advanced-tab-component.js and subcomponents. * Improve styling of advanced-tab-content gasInput row * Adds basic tab content to gas customizer, with styled button group (static, for now). * Connect the gas-button-group component to redux and a live api. * Improvements to propdefaults in button-group.component and basic-tab-content.component * Styling fixes for gas customization advanced tab content. * Adds gas-duck.test.js tests. * Connects remained of the gas customization component to redux. * Integrate gas buttons with the send screen. * Test updates and additions for button integration with send screen. * Adds redesign for the customize gas advanced tab. * Adds not yet functional gas price chart. * Gas price chart improvements, redesign, bug fixes, and set up to receive external data * Read only connection of gas price chart to redux * Clean up for advanced gas tab customization changes. * Complete integration of gas chart with redux. * Add control arrows to advanced gas tab inputs. * Lint and unit test fixes. * Clean up gas chart code. * Update tests, plus some lint fixes, for gas-price-chart * Improve data management and tests for gas-modal-page-container price estimates. * Clean up for mmui-i11-custom-gas-price-chart branch * Redesign of gas customization basic tab. * Adds createSpeedUpTransaction to txController * Connect gas price chart to gas station api. * Adds speed up slide-in gas customization sidebar * Update e2e tests for new gas customization modal. * Fixes for components that break e2e gas customization tests, plus unit test updates. * Remove gas customization integration tests (in favour of e2e tests) * Add gas data to integration test json data set. * Add c3 and d3 to the separate dependencies bundle. * Make gas customization modal responsive. * Fix "fastest" translation message; change to sentence case * Uses more reliable api on main send screen; caches basic api results in modal * Add loading spinners when waiting for APIs in the gas customization modal * Modify results of API data to better fit gas chart: remove outliers, pad data * Clear custom gas data on hiding of gas customization modal. * Improve responsiveness of customize speed up slider. * Final gas customization fixes * Fix styling of send screen in extension view when hex data on. * Replace height: 100% rule with workaround for flexbox quirks * Fill in more Polish message translations * Update lockfile to fix errors npm has informed me that the lockfile has "errors": npm ERR! code ELOCKVERIFY npm ERR! Errors were found in your package-lock.json, run npm install to fix them. npm ERR! Missing: c3@^0.6.7 npm ERR! Invalid: lock file's d3@3.5.17 does not satisfy d3@^5.7.0 * circleci: Disable npm audit when installing packages Auditing packages when installing here doesn't help anyone as the summary isn't visible and vulnerabilities don't produce a non-zero exit code. We will have `npm audit` as an extra CI job. * npm audit fix * circleci: Replace nsp with npm audit Refs #4751 * Remove beefy dependency and its usages Refs #4768 Refs #5389 This changeset removes the beefy package that: 1. Was last published 2 yrs ago 2. Brought with it 1 moderate and 1 critical vulnerability 3. Was only used in scripts that no longer work * npm uninstall open * Update ganache-core to mitigate vuln === npm audit security report === > # Run npm install --save-dev ganache-core@2.3.1 to resolve 1 vulnerability ┌───────────────┬──────────────────────────────────────────────────────────────┐ │ Moderate │ Memory Exposure │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Package │ bl │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Dependency of │ ganache-core [dev] │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Path │ ganache-core > level-sublevel > levelup > bl │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ More info │ https://nodesecurity.io/advisories/596 │ └───────────────┴──────────────────────────────────────────────────────────────┘ * Deduplicate package.json file From `npm install`: > npm WARN The package css-loader is included as both a dev and production dependency. > npm WARN The package eslint-plugin-react is included as both a dev and production dependency. > npm WARN The package file-loader is included as both a dev and production dependency. > npm WARN The package gulp is included as both a dev and production dependency. It's also worth noting that the Gulp version we were using was inconsistent and there is a published v4 release on GitHub. * Fix race condition in network controller lookup() method. * Group transactions by nonce (#5886) * fix formatting of 32-byte strings in personal_sign (#5878) * Bump json-rpc-engine to v4.0.0 * Bump package lock, mostly to https links * Improve ux for low gas price set (#5862) * Show user warning if they set gas price below safelow minimum, error if 0. * Properly cache basic price estimate data. * Default retry price to recommended price if original price was 0x0 * Use mock fetch in send-new-ui integration tests. * Show Failed transaction in the browser notification for on-chain failures (#5904) * Changelog and version bump for 5.2.0
Diffstat (limited to 'ui/app/helpers')
-rw-r--r--ui/app/helpers/confirm-transaction/util.js2
-rw-r--r--ui/app/helpers/conversions.util.js40
-rw-r--r--ui/app/helpers/formatters.js3
-rw-r--r--ui/app/helpers/transactions.util.js16
4 files changed, 55 insertions, 6 deletions
diff --git a/ui/app/helpers/confirm-transaction/util.js b/ui/app/helpers/confirm-transaction/util.js
index eb334a4b8..0451824e8 100644
--- a/ui/app/helpers/confirm-transaction/util.js
+++ b/ui/app/helpers/confirm-transaction/util.js
@@ -95,7 +95,7 @@ export function formatCurrency (value, currencyCode) {
const upperCaseCurrencyCode = currencyCode.toUpperCase()
return currencies.find(currency => currency.code === upperCaseCurrencyCode)
- ? currencyFormatter.format(Number(value), { code: upperCaseCurrencyCode })
+ ? currencyFormatter.format(Number(value), { code: upperCaseCurrencyCode, style: 'currency' })
: value
}
diff --git a/ui/app/helpers/conversions.util.js b/ui/app/helpers/conversions.util.js
index cb5e1b90b..065d67e8e 100644
--- a/ui/app/helpers/conversions.util.js
+++ b/ui/app/helpers/conversions.util.js
@@ -1,6 +1,6 @@
import ethUtil from 'ethereumjs-util'
-import { conversionUtil } from '../conversion-util'
import { ETH, GWEI, WEI } from '../constants/common'
+import { conversionUtil, addCurrencies } from '../conversion-util'
export function bnToHex (inputBn) {
return ethUtil.addHexPrefix(inputBn.toString(16))
@@ -82,3 +82,41 @@ export function getWeiHexFromDecimalValue ({
toDenomination: WEI,
})
}
+
+export function addHexWEIsToDec (aHexWEI, bHexWEI) {
+ return addCurrencies(aHexWEI, bHexWEI, {
+ aBase: 16,
+ bBase: 16,
+ fromDenomination: 'WEI',
+ numberOfDecimals: 6,
+ })
+}
+
+export function decEthToConvertedCurrency (ethTotal, convertedCurrency, conversionRate) {
+ return conversionUtil(ethTotal, {
+ fromNumericBase: 'dec',
+ toNumericBase: 'dec',
+ fromCurrency: 'ETH',
+ toCurrency: convertedCurrency,
+ numberOfDecimals: 2,
+ conversionRate,
+ })
+}
+
+export function decGWEIToHexWEI (decGWEI) {
+ return conversionUtil(decGWEI, {
+ fromNumericBase: 'dec',
+ toNumericBase: 'hex',
+ fromDenomination: 'GWEI',
+ toDenomination: 'WEI',
+ })
+}
+
+export function hexWEIToDecGWEI (decGWEI) {
+ return conversionUtil(decGWEI, {
+ fromNumericBase: 'hex',
+ toNumericBase: 'dec',
+ fromDenomination: 'WEI',
+ toDenomination: 'GWEI',
+ })
+}
diff --git a/ui/app/helpers/formatters.js b/ui/app/helpers/formatters.js
new file mode 100644
index 000000000..106a2520d
--- /dev/null
+++ b/ui/app/helpers/formatters.js
@@ -0,0 +1,3 @@
+export function formatETHFee (ethFee) {
+ return ethFee + ' ETH'
+}
diff --git a/ui/app/helpers/transactions.util.js b/ui/app/helpers/transactions.util.js
index 2f4b1d095..0f1ed70a3 100644
--- a/ui/app/helpers/transactions.util.js
+++ b/ui/app/helpers/transactions.util.js
@@ -2,6 +2,10 @@ import ethUtil from 'ethereumjs-util'
import MethodRegistry from 'eth-method-registry'
import abi from 'human-standard-token-abi'
import abiDecoder from 'abi-decoder'
+import {
+ TRANSACTION_TYPE_CANCEL,
+ TRANSACTION_STATUS_CONFIRMED,
+} from '../../../app/scripts/controllers/transactions/enums'
import {
TOKEN_METHOD_TRANSFER,
@@ -13,7 +17,7 @@ import {
SEND_TOKEN_ACTION_KEY,
TRANSFER_FROM_ACTION_KEY,
SIGNATURE_REQUEST_KEY,
- UNKNOWN_FUNCTION_KEY,
+ CONTRACT_INTERACTION_KEY,
CANCEL_ATTEMPT_ACTION_KEY,
} from '../constants/transactions'
@@ -87,7 +91,7 @@ export async function getTransactionActionKey (transaction, methodData) {
const methodName = name && name.toLowerCase()
if (!methodName) {
- return UNKNOWN_FUNCTION_KEY
+ return CONTRACT_INTERACTION_KEY
}
switch (methodName) {
@@ -148,12 +152,16 @@ export function sumHexes (...args) {
* @returns {string}
*/
export function getStatusKey (transaction) {
- const { txReceipt: { status } = {} } = transaction
+ const { txReceipt: { status: receiptStatus } = {}, type, status } = transaction
// There was an on-chain failure
- if (status === '0x0') {
+ if (receiptStatus === '0x0') {
return 'failed'
}
+ if (status === TRANSACTION_STATUS_CONFIRMED && type === TRANSACTION_TYPE_CANCEL) {
+ return 'cancelled'
+ }
+
return transaction.status
}