diff options
author | Dan J Miller <danjm.com@gmail.com> | 2019-07-04 04:33:44 +0800 |
---|---|---|
committer | Dan Miller <danjm.com@gmail.com> | 2019-07-05 00:44:03 +0800 |
commit | 05e21208146c65325330746a7860ce086f10e345 (patch) | |
tree | a4d5b364be451f43e4dc44e3da143a2d7e9b6cda /app/scripts/controllers/network | |
parent | 397e0d128d034d10ab3f44641128f3aef99355a9 (diff) | |
download | tangerine-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.js | 18 |
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() + }) +} |