aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers/network
diff options
context:
space:
mode:
authorDan J Miller <danjm.com@gmail.com>2019-07-04 04:33:44 +0800
committerDan Miller <danjm.com@gmail.com>2019-07-05 00:44:03 +0800
commit05e21208146c65325330746a7860ce086f10e345 (patch)
treea4d5b364be451f43e4dc44e3da143a2d7e9b6cda /app/scripts/controllers/network
parent397e0d128d034d10ab3f44641128f3aef99355a9 (diff)
downloadtangerine-wallet-browser-05e21208146c65325330746a7860ce086f10e345.tar.gz
tangerine-wallet-browser-05e21208146c65325330746a7860ce086f10e345.tar.zst
tangerine-wallet-browser-05e21208146c65325330746a7860ce086f10e345.zip
Version 6.7.2 gas limit fix (#6786)
* Introduce delay for eth_estimateGas calls with in test * Add test that fails when gas estimates of contract method calls without gas are too high. * Get transaction gas data from unApprovedTxs instead of confirmTransaction * Fix selection of gas data in gas-modal-page-container.container * Lint changes related to Version-6.7.2-gasLimitFix * Fix e2e tests on Version-6.7.2-gasLimitFix * Fix unit and integration tests for changes from Version-6.7.2-gasLimitFix * more e2e fixes * Add assertions for transaction values on confirm screen * Fix display of transaction amount on confirm screen.
Diffstat (limited to 'app/scripts/controllers/network')
-rw-r--r--app/scripts/controllers/network/createLocalhostClient.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/scripts/controllers/network/createLocalhostClient.js b/app/scripts/controllers/network/createLocalhostClient.js
index 09b1d3c1c..3a435e5d0 100644
--- a/app/scripts/controllers/network/createLocalhostClient.js
+++ b/app/scripts/controllers/network/createLocalhostClient.js
@@ -2,9 +2,12 @@ const mergeMiddleware = require('json-rpc-engine/src/mergeMiddleware')
const createFetchMiddleware = require('eth-json-rpc-middleware/fetch')
const createBlockRefRewriteMiddleware = require('eth-json-rpc-middleware/block-ref-rewrite')
const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/block-tracker-inspector')
+const createAsyncMiddleware = require('json-rpc-engine/src/createAsyncMiddleware')
const providerFromMiddleware = require('eth-json-rpc-middleware/providerFromMiddleware')
const BlockTracker = require('eth-block-tracker')
+const inTest = process.env.IN_TEST === 'true'
+
module.exports = createLocalhostClient
function createLocalhostClient () {
@@ -13,9 +16,24 @@ function createLocalhostClient () {
const blockTracker = new BlockTracker({ provider: blockProvider, pollingInterval: 1000 })
const networkMiddleware = mergeMiddleware([
+ createEstimateGasMiddleware(),
createBlockRefRewriteMiddleware({ blockTracker }),
createBlockTrackerInspectorMiddleware({ blockTracker }),
fetchMiddleware,
])
return { networkMiddleware, blockTracker }
}
+
+function delay (time) {
+ return new Promise(resolve => setTimeout(resolve, time))
+}
+
+
+function createEstimateGasMiddleware () {
+ return createAsyncMiddleware(async (req, _, next) => {
+ if (req.method === 'eth_estimateGas' && inTest) {
+ await delay(2000)
+ }
+ return next()
+ })
+}