diff options
author | Alexander Tseung <alextsg@gmail.com> | 2018-03-30 00:37:29 +0800 |
---|---|---|
committer | Alexander Tseung <alextsg@gmail.com> | 2018-03-30 00:37:29 +0800 |
commit | ef61ef2ce885635862bb242612dd821cb3a65b6b (patch) | |
tree | 0f128f8b56b57a1bbe96dcf5743d34b5f95dc4cc /app/scripts/lib/extractEthjsErrorMessage.js | |
parent | 58f52b2b8de9efd43896e23ab0ac9972f45bb278 (diff) | |
parent | 8766420f19251b95211dd99ff9a45e60cf0177ad (diff) | |
download | tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.tar tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.tar.gz tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.tar.bz2 tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.tar.lz tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.tar.xz tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.tar.zst tangerine-wallet-browser-ef61ef2ce885635862bb242612dd821cb3a65b6b.zip |
Fix i18n merge conflicts
Diffstat (limited to 'app/scripts/lib/extractEthjsErrorMessage.js')
-rw-r--r-- | app/scripts/lib/extractEthjsErrorMessage.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/scripts/lib/extractEthjsErrorMessage.js b/app/scripts/lib/extractEthjsErrorMessage.js new file mode 100644 index 000000000..bac541735 --- /dev/null +++ b/app/scripts/lib/extractEthjsErrorMessage.js @@ -0,0 +1,27 @@ +const ethJsRpcSlug = 'Error: [ethjs-rpc] rpc error with payload ' +const errorLabelPrefix = 'Error: ' + +module.exports = extractEthjsErrorMessage + + +// +// ethjs-rpc provides overly verbose error messages +// if we detect this type of message, we extract the important part +// Below is an example input and output +// +// Error: [ethjs-rpc] rpc error with payload {"id":3947817945380,"jsonrpc":"2.0","params":["0xf8eb8208708477359400830398539406012c8cf97bead5deae237070f9587f8e7a266d80b8843d7d3f5a0000000000000000000000000000000000000000000000000000000000081d1a000000000000000000000000000000000000000000000000001ff973cafa800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000003f48025a04c32a9b630e0d9e7ff361562d850c86b7a884908135956a7e4a336fa0300d19ca06830776423f25218e8d19b267161db526e66895567147015b1f3fc47aef9a3c7"],"method":"eth_sendRawTransaction"} Error: replacement transaction underpriced +// +// Transaction Failed: replacement transaction underpriced +// + + +function extractEthjsErrorMessage(errorMessage) { + const isEthjsRpcError = errorMessage.includes(ethJsRpcSlug) + if (isEthjsRpcError) { + const payloadAndError = errorMessage.slice(ethJsRpcSlug.length) + const originalError = payloadAndError.slice(payloadAndError.indexOf(errorLabelPrefix) + errorLabelPrefix.length) + return originalError + } else { + return errorMessage + } +} |