From f64232237401beeb08566a8b8d07f6f15cf6459e Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 14:11:55 +0300 Subject: [PATCH 1/7] Update deps: eth-net-props, RSK metadata, fix vulnerabilities --- package-lock.json | 22 ++++++++++++---------- package.json | 6 +++--- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 606f1a786..7e89f715d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1975,12 +1975,14 @@ } }, "@rsksmart/rsk-contract-metadata": { - "version": "github:rsksmart/rsk-contract-metadata#d7913739e5ee93dac8667043e2c17b0ef339c206", - "from": "github:rsksmart/rsk-contract-metadata#master" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rsksmart/rsk-contract-metadata/-/rsk-contract-metadata-1.0.0.tgz", + "integrity": "sha512-3bb4+h5u7l61/eGgn7wndOnVCy0oUnhV6+x2bUFa62hT8Vm/JJ/A+YdfkudUhXe3hJFmqrp9CLWi/DfQR6tLfw==" }, "@rsksmart/rsk-testnet-contract-metadata": { - "version": "github:rsksmart/rsk-testnet-contract-metadata#2b89e70d36d2aa58cae68ac817debbf3c451690a", - "from": "github:rsksmart/rsk-testnet-contract-metadata#master" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rsksmart/rsk-testnet-contract-metadata/-/rsk-testnet-contract-metadata-1.0.0.tgz", + "integrity": "sha512-XWU824DvAMlxGNuBaVaCHxcc8eDHnbwrnYVG0hUNWgIZIYJOT9zwB0f1sSVEVgbryjvFy82H1Ay92k3XXUqZVQ==" }, "@sentry/cli": { "version": "1.52.0", @@ -11633,9 +11635,9 @@ } }, "eth-net-props": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/eth-net-props/-/eth-net-props-1.0.33.tgz", - "integrity": "sha512-RoqoXkY3+ztjdD9EfbjnMapWqfRjUscPon4Vjt48RLHDDYyNmz7LiQ4Qgb4E41PNS7xRoGkQCWJvJRAI9vDsFQ==", + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/eth-net-props/-/eth-net-props-1.0.35.tgz", + "integrity": "sha512-dvXMYtiaM7EKCVWMGvwNind4iojMum99SZBYIRVfE5zsceP/c4CxCbuS0If7o4tK/IxWAaa9tGt3hUzTsgArJQ==", "requires": { "chai": "^4.2.0" } @@ -43002,9 +43004,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" }, "lodash._baseassign": { "version": "3.2.0", diff --git a/package.json b/package.json index 705f2cace..34a28b796 100644 --- a/package.json +++ b/package.json @@ -86,8 +86,8 @@ "@babel/runtime": "^7.5.5", "@material-ui/core": "^4.1.1", "@rsksmart/rns-registry": "^1.0.4", - "@rsksmart/rsk-contract-metadata": "github:rsksmart/rsk-contract-metadata#master", - "@rsksmart/rsk-testnet-contract-metadata": "github:rsksmart/rsk-testnet-contract-metadata#master", + "@rsksmart/rsk-contract-metadata": "^1.0.0", + "@rsksmart/rsk-testnet-contract-metadata": "^1.0.0", "@zxing/library": "^0.8.0", "abi-decoder": "^1.2.0", "asmcrypto.js": "0.22.0", @@ -121,7 +121,7 @@ "eth-keychain-controller": "github:vbaranov/KeyringController#5.3.1", "eth-ledger-bridge-keyring": "github:vbaranov/eth-ledger-bridge-keyring#0.1.0-clear-accounts-flag", "eth-method-registry": "^1.0.0", - "eth-net-props": "^1.0.33", + "eth-net-props": "^1.0.35", "eth-phishing-detect": "^1.1.4", "eth-query": "^2.1.2", "eth-sig-util": "^2.5.1", From 934e174b9bacdb4d69470889ad30f5a9efaaf068 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 14:32:28 +0300 Subject: [PATCH 2/7] Add CHANGELOG entry --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82a65a8e8..fe6945a62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Current Master +- [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Chore) New RSK testnet default tokens +- [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Fix) Etherscan link for Ethereum Mainnet +- [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Chrore) Update NPM deps to fix known vulnerabilities + ## 5.1.1 Mon Jun 15 2020 - [#393](https://github.com/poanetwork/nifty-wallet/pull/393) - (Feature) "Send all" option for tokens transfer From b1f3e7fb73485f1cb5d461966ef2176655b56c38 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 15:07:15 +0300 Subject: [PATCH 3/7] 10 gWei --- app/scripts/controllers/transactions/index.js | 2 +- app/scripts/metamask-controller.js | 13 ++++++++++--- old-ui/app/util.js | 9 ++++++++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js index c91e41ea0..313505102 100644 --- a/app/scripts/controllers/transactions/index.js +++ b/app/scripts/controllers/transactions/index.js @@ -212,7 +212,7 @@ class TransactionController extends EventEmitter { txParams.value = txParams.value ? ethUtil.addHexPrefix(txParams.value) : '0x0' txMeta.gasPriceSpecified = Boolean(txParams.gasPrice) let gasPrice = txParams.gasPrice - if (!gasPrice) { + if (!gasPrice || gasPrice === '0x0') { gasPrice = this.getGasPrice ? await this.getGasPrice() : await this.query.gasPrice() } txParams.gasPrice = ethUtil.addHexPrefix(gasPrice.toString(16)) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 9704b230f..225a92660 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -51,6 +51,7 @@ import selectChainId from './lib/select-chain-id' const version = require('../manifest.json').version import ethUtil, { BN } from 'ethereumjs-util' const GWEI_BN = new BN('1000000000') +const GWEI_10_BN = new BN('10000000000') import percentile from 'percentile' import seedPhraseVerifier from './lib/seed-phrase-verifier' import log from 'loglevel' @@ -60,7 +61,7 @@ import EthQuery from 'eth-query' import nanoid from 'nanoid' const { importTypes } = require('../../old-ui/app/accounts/import/enums') const { LEDGER, TREZOR } = require('../../old-ui/app/components/connect-hardware/enum') -const { ifPOA, ifRSK, getNetworkID, getDPath, setDPath } = require('../../old-ui/app/util') +const { ifPOA, ifXDai, ifRSK, getNetworkID, getDPath, setDPath } = require('../../old-ui/app/util') const { GasPriceOracle } = require('gas-price-oracle') import { @@ -1914,9 +1915,15 @@ module.exports = class MetamaskController extends EventEmitter { const { recentBlocksController } = this const { recentBlocks } = recentBlocksController.store.getState() const isPOA = ifPOA(networkId) + const isXDai = ifXDai(networkId) - // Return 1 gwei if using a POA network or if there are no blocks have been observed: - if (isPOA || recentBlocks.length === 0) { + // Return 10 gwei if using a POA, Sokol + if (isPOA) { + return '0x' + GWEI_10_BN.toString(16) + } + + // Return 1 gwei if xDai or there are no blocks have been observed: + if (isXDai || recentBlocks.length === 0) { return '0x' + GWEI_BN.toString(16) } diff --git a/old-ui/app/util.js b/old-ui/app/util.js index 9514262f5..e916e54bc 100644 --- a/old-ui/app/util.js +++ b/old-ui/app/util.js @@ -92,6 +92,7 @@ module.exports = { ifETC, ifRSKByProviderType, ifPOA, + ifXDai, toChecksumAddress, isValidChecksumAddress, isInfuraProvider, @@ -452,7 +453,13 @@ function ifRSKByProviderType (type) { function ifPOA (network) { if (!network) return false const numericNet = isNaN(network) ? network : parseInt(network) - return numericNet === POA_SOKOL_CODE || numericNet === POA_CODE || numericNet === DAI_CODE + return numericNet === POA_SOKOL_CODE || numericNet === POA_CODE +} + +function ifXDai (network) { + if (!network) return false + const numericNet = isNaN(network) ? network : parseInt(network) + return numericNet === DAI_CODE } function toChecksumAddressRSK (address, chainId = null) { From ea3cd6ba8b91415e363e6729d1fd86e7bf09755a Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 15:35:53 +0300 Subject: [PATCH 4/7] Update test --- test/unit/old-ui/app/util.spec.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/unit/old-ui/app/util.spec.js b/test/unit/old-ui/app/util.spec.js index 86e06119a..07b043940 100644 --- a/test/unit/old-ui/app/util.spec.js +++ b/test/unit/old-ui/app/util.spec.js @@ -16,6 +16,7 @@ const { ifRSK, ifRSKByProviderType, ifPOA, + ifXDai, toChecksumAddress, isValidChecksumAddress, isInfuraProvider, @@ -359,12 +360,19 @@ describe('normalizing values', function () { it('checks if this is POA chain', function () { assert(ifPOA(77)) assert(ifPOA(99)) - assert(ifPOA(100)) assert(!ifPOA(1)) assert(!ifPOA()) }) }) + describe('#ifXDai', function () { + it('checks if this is xDai chain', function () { + assert(ifXDai(100)) + assert(!ifXDai(1)) + assert(!ifXDai()) + }) + }) + const addr = '0xB707b030A7887a21cc595Cd139746A8c2Ed91615' const addrRSKMainnet = '0xB707b030A7887a21Cc595cD139746A8c2ED91615' const addrRSKTestnet = '0xB707b030a7887a21Cc595CD139746a8C2ED91615' From a1162487f2cc29e7c636a9b7906cdd6c138994a6 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 15:37:46 +0300 Subject: [PATCH 5/7] Add CHANGELOG entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe6945a62..04433c1d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Master +- [#399](https://github.com/poanetwork/nifty-wallet/pull/399) - (Chore) Set 10 Gwei gas price for POA and Sokol chains +- [#399](https://github.com/poanetwork/nifty-wallet/pull/399) - (Fix) Fix 0 gas price when on POA, Sokol, xDai chains when confirmation popup is called from dApp - [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Chore) New RSK testnet default tokens - [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Fix) Etherscan link for Ethereum Mainnet - [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Chrore) Update NPM deps to fix known vulnerabilities From f24d1ef789e0134d610284af32f56d936c2ed281 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 16:15:12 +0300 Subject: [PATCH 6/7] Fix RNS resolving --- old-ui/app/components/ens-input.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/old-ui/app/components/ens-input.js b/old-ui/app/components/ens-input.js index 327d201ca..ae8c0685b 100644 --- a/old-ui/app/components/ens-input.js +++ b/old-ui/app/components/ens-input.js @@ -222,10 +222,12 @@ function getNetworkEnsSupport (network) { } function getNetworkRnsSupport (network) { + network = parseInt(network, 10) return (network === RSK_CODE || network === RSK_TESTNET_CODE) } function getRnsRegistryAddress (network) { + network = parseInt(network, 10) if (network === RSK_CODE) { return RNSRegistryData.address.rskMainnet } From 07122b9bbff93147d3a5e4fde6dbdab1bb615ed3 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jul 2020 16:22:14 +0300 Subject: [PATCH 7/7] Add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04433c1d6..ca68ae8be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Current Master +- [#400](https://github.com/poanetwork/nifty-wallet/pull/400) - (Fix) Fix RNS resolving - [#399](https://github.com/poanetwork/nifty-wallet/pull/399) - (Chore) Set 10 Gwei gas price for POA and Sokol chains - [#399](https://github.com/poanetwork/nifty-wallet/pull/399) - (Fix) Fix 0 gas price when on POA, Sokol, xDai chains when confirmation popup is called from dApp - [#398](https://github.com/poanetwork/nifty-wallet/pull/398) - (Chore) New RSK testnet default tokens