1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/app/scripts/controllers/network/middleware/pending.js
Whymarrh Whitby aa41057628
Update ESLint rules for curly braces style (#7477)
* eslint: Enable curly and brace-style

* yarn lint --fix
2019-11-19 20:33:20 -03:30

37 lines
1021 B
JavaScript

const { formatTxMetaForRpcResult } = require('../util')
const createAsyncMiddleware = require('json-rpc-engine/src/createAsyncMiddleware')
function createPendingNonceMiddleware ({ getPendingNonce }) {
return createAsyncMiddleware(async (req, res, next) => {
const {method, params} = req
if (method !== 'eth_getTransactionCount') {
return next()
}
const [param, blockRef] = params
if (blockRef !== 'pending') {
return next()
}
res.result = await getPendingNonce(param)
})
}
function createPendingTxMiddleware ({ getPendingTransactionByHash }) {
return createAsyncMiddleware(async (req, res, next) => {
const {method, params} = req
if (method !== 'eth_getTransactionByHash') {
return next()
}
const [hash] = params
const txMeta = getPendingTransactionByHash(hash)
if (!txMeta) {
return next()
}
res.result = formatTxMetaForRpcResult(txMeta)
})
}
module.exports = {
createPendingTxMiddleware,
createPendingNonceMiddleware,
}