{"_id":"eth-revert-reason","_rev":"4-ea3e1c94392bd91534f6c7ae0e639653","name":"eth-revert-reason","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"eth-revert-reason","version":"1.0.0","description":"Get the revert reason from an Ethereum transaction hash","main":"index.js","types":"index.d.ts","scripts":{"publish-module":"npm publish --access public","dist-tag":"npm dist-tag add \"eth-revert-reason@$(jq -r .version <package.json)\" latest","release":"npm test && npm run publish-module && npm run dist-tag","test":"jest test/*.js"},"repository":{"type":"git","url":"git+https://github.com/authereum/eth-revert-reason.git"},"bugs":{"url":"https://github.com/authereum/eth-revert-reason/issues"},"homepage":"https://github.com/authereum/eth-revert-reason","author":{"name":"Shane Fontaine","email":"shane6fontaine@gmail.com","url":"https://authereum.com/"},"license":"MIT","dependencies":{"ethers":"^4.0.46"},"devDependencies":{"chai":"^4.2.0","jest":"^25.4.0","mocha":"^7.1.1","standard":"^14.3.3"},"keywords":["ethereum","revert","string","transaction"],"gitHead":"04d4b04e037189b3c6bcabc5ab491f7d85b095a0","_id":"eth-revert-reason@1.0.0","_nodeVersion":"11.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ioOjQ4uVcXaw2Gf1v/Zk91oNV2U8xNAsWQBLhgl8RXt5UD2lMMUKb2PHQsaDJu2VoLfTkOdE/30n7C8bODXsnQ==","shasum":"0c08c6e7e4de38e218127af882fd48dc2578ba58","tarball":"https://registry.npmjs.org/eth-revert-reason/-/eth-revert-reason-1.0.0.tgz","fileCount":6,"unpackedSize":17349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenOI6CRA9TVsSAnZWagAAzpYP/0960DI+o7Q8hHmb69F5\nWbhDj2lxYW0XpHksZ3AXHj9sX7gPX/A5r2BRD7E8/zx+bMAqdtELrO4JKROv\naXZ6wo0gc7AvKfzRy8ikV/20QaVrngKobZ9GlLfskUpHpYlaTuuA81KP15K4\n9THWl+8yKZu4n5EvC0KuHWpTCTFI/kkarlrGN0GQQs8ZaH8vuZEn+yUQ3W7C\nw2paN6683okw8Z//ySTqFm1tIECksjWI1RkYAB95+VZlI36FwbvvsI/We+bW\nZn4ZCDODqdzorPjbGmyc1P5EJW4FCtpwOS1ClNycy8iMuZluB7ZMNIA0Qdw2\nMHtfTLNhIGpeMJW3mb8gNHfvSUOiki1eB7G+Ama2OxNlwQ08r/xsprxbGkIJ\nUXRfUcgxlqI455EjEoKGK2JHtW86DkFz3d6AOtycnR1CPAZtYCeAVA1CulVp\nO5biBUBDuwOUPF0soNvAgbsRALx8+Mh+ulAd7SxbH9P92lAuyH4a+dFCldMS\nkJ9H4KY0muwepJEfQ1mq7PjjKt0UI4QhxsJ/T/6qu5jVZDlNWqDJwfIWcwUW\nJtflgU3rwAvyZGNkq6H7xjcnjgiB7CTHNWIP3MExBp2tq3/gzFVBzC+n5Ae9\nkYU4lK9egDGkIVzsClvoItg5zE/hHAJqtg7VEqqDl+9miKiS2VYC+sTjHJ+Z\nHWAv\r\n=FoD4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPoQRBvvlZC1KqtIa2r+KRF73SR6etY60VNKAEKjh3pQIgbmF0xbAAsypCJJu0XhjmH8tU/UytwUno8Fi38ALFbAw="}]},"maintainers":[{"name":"shanefontaine","email":"shane6fontaine@gmail.com"}],"_npmUser":{"name":"shanefontaine","email":"shane6fontaine@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eth-revert-reason_1.0.0_1587339834284_0.4672411715902858"},"_hasShrinkwrap":false},"1.0.1":{"name":"eth-revert-reason","version":"1.0.1","description":"Get the revert reason from an Ethereum transaction hash","main":"index.js","types":"index.d.ts","scripts":{"publish-module":"npm publish --access public","dist-tag":"npm dist-tag add \"eth-revert-reason@$(jq -r .version <package.json)\" latest","release":"npm test && npm run publish-module && npm run dist-tag","test":"jest test/*.js"},"repository":{"type":"git","url":"git+https://github.com/authereum/eth-revert-reason.git"},"bugs":{"url":"https://github.com/authereum/eth-revert-reason/issues"},"homepage":"https://github.com/authereum/eth-revert-reason","author":{"name":"Shane Fontaine","email":"shane.fontaine@authereum.com","url":"https://authereum.com/"},"contributors":[{"name":"Miguel Mota","email":"miguel.mota@authereum.com"},{"name":"Chris Whinfrey","email":"chris.whinfrey@authereum.com"},{"name":"Adam Hanna","email":"adam.hanna@authereum.com"}],"license":"MIT","dependencies":{"ethers":"^4.0.46"},"devDependencies":{"chai":"^4.2.0","jest":"^25.4.0","mocha":"^7.1.1"},"keywords":["ethereum","revert","string","transaction"],"gitHead":"4fe309def28f9288685794b9a1e21de710cf9e29","_id":"eth-revert-reason@1.0.1","_nodeVersion":"11.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-zVb/vjqbwK6EF8uBw/5LgDFIcDP6DY2njv+yKOfkrLj9A+7Wa5c+/obJY5+D/h9kt69Pkov7kCBzAJAVYgDRqQ==","shasum":"66203949345fbec861036b90b464cbce4a43e68d","tarball":"https://registry.npmjs.org/eth-revert-reason/-/eth-revert-reason-1.0.1.tgz","fileCount":6,"unpackedSize":23355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0T9CRA9TVsSAnZWagAAt78P/iG14ycoF+as5OgOsGxL\nkugrLQITLqcek8EUHUyadTH8Z4p6Nv0RO85pCubS3q9tk6n+wJMHaytmnv93\nWNycAy1zLdLfdQS308Q9NIpQV5GLDuLI9amn53VKZaMOP/JSST9IuMi8CQBR\ng4+ElgWPOrglt3H3tKcWWgMyqhBtQ4kuwPsOaTEeu0PlNuSI9y5O+/fW+MZg\nJnRoBrjByY7VsA4KNPRBeXFt3kvUrV3be1xPrcpaH61rKZcxwUP7NNCK3p8v\n/bROLfgQ68IhGNIfb3nO1LqT/tdLN0VJnhrT4htrl1fvAQbGLTa9ed/86Rza\nMeK7tO0geOiGJ9xxZf+BFAeZHAt8ifkNwv5hmirxFvyLl28rw6ECGebprR1Q\n2f1izMKlhMvk1GCau5UU82Qt2VwMULtO09pwwC4jwFD57p3XA3SBJtoO/S9T\nP1/8iarimiLFC2hnoZwiEpmlha2Oa/Hu2uvrFanlWefqB3kgUIAVnBHbNGrr\nyZxdSEenxCR6AGlMoU+WiBgiCpWV3MbiscAUnaYkfhrFShOM3Z1PYtOBw8uR\n3kKyOiba9g9cZZ9eEijCajAw9CYVAq465znSfDQw7eWqF6ej5FN4zOnrZFMj\nxWCzLolFg2BToFe0oCxYUhiWLbQfqhHzBUkSyzcpaJu4z6n4DV5gRmVAAPxV\n5/7D\r\n=USin\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSd4eCv3orB5U2YymS23W1F8toHcsMPhPMUaVGMx5PMgIgdGZAIAEYUsKeiWzjB06CdbeKXQjuk3jGu6TcFWTZKUM="}]},"maintainers":[{"name":"shanefontaine","email":"shane6fontaine@gmail.com"}],"_npmUser":{"name":"shanefontaine","email":"shane6fontaine@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eth-revert-reason_1.0.1_1587496189202_0.3796615143672477"},"_hasShrinkwrap":false},"1.0.2":{"name":"eth-revert-reason","version":"1.0.2","description":"Get the revert reason from an Ethereum transaction hash","main":"index.js","types":"index.d.ts","scripts":{"publish-module":"npm publish --access public","dist-tag":"npm dist-tag add \"eth-revert-reason@$(jq -r .version <package.json)\" latest","release":"npm test && npm run publish-module && npm run dist-tag","test":"jest test/*.js"},"repository":{"type":"git","url":"git+https://github.com/authereum/eth-revert-reason.git"},"bugs":{"url":"https://github.com/authereum/eth-revert-reason/issues"},"homepage":"https://github.com/authereum/eth-revert-reason","author":{"name":"Shane Fontaine","email":"shane.fontaine@authereum.com","url":"https://authereum.com/"},"contributors":[{"name":"Miguel Mota","email":"miguel.mota@authereum.com"},{"name":"Chris Whinfrey","email":"chris.whinfrey@authereum.com"},{"name":"Adam Hanna","email":"adam.hanna@authereum.com"}],"license":"MIT","bin":{"getRevertReason":"cli.js"},"dependencies":{"ethers":"^4.0.46"},"devDependencies":{"chai":"^4.2.0","jest":"^25.4.0","mocha":"^7.1.1"},"keywords":["ethereum","revert","string","transaction"],"gitHead":"046cfcd2b0fc5699a5849ef362cfafa081277fa3","_id":"eth-revert-reason@1.0.2","_nodeVersion":"11.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-AzoHqb/UUj4eZ2SLaC/7AgvQezmf4NWBn6e3midQHDslkBesW5VLzrbskIqu8Osx5WZ7YJ2UJIerLCJeSj2iZQ==","shasum":"c4bca6f4b4ea87436899da04d0bbde6a2dc97ed2","tarball":"https://registry.npmjs.org/eth-revert-reason/-/eth-revert-reason-1.0.2.tgz","fileCount":7,"unpackedSize":26024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoGLrCRA9TVsSAnZWagAANw8QAIR/ofQJP5UOQy5mPKEp\nM74K9GWcWFPfWpO5YwqjtOlC6U+jwO+6cxHLQjnHHppJSbXsQRtMQBgke8D+\nCpaG5AgrEm+5UKdxsaBiJOaW8IjKjQfWz0DAsdsQWnjMZIMcfVIwcMNjUjaL\nz8ACHsUWi/iwgY0gWg38YEzdgXdXuB1SuCKVDVs8MVxUx9NB8LpS3OElrka8\n18o0Qjo0p7ep8K2mPD1OHApWVeEcX3UKXiF8z98O5SFszfF+exZOlA7jEphX\n8Cn5RUY7yoIw2LFwhICI0Mou4zL6aDMXX75y/qp9YpLG8cfQhea+ZODxMFLO\nV/HGkif2c7IIMQyI4H//baheJe8g08w0GpsykF7m8gHHe0qBEKENUghhMzYC\nKHa2CbrBXaj/MVrZTElMUOAiZ573Kc3O3/7kMlloqyosWeZBgg6/+Bil0oiU\nWt0Uu2X26BD4Sphdgm1lo28uOzXL3wT3QA++6R+RHwFO6ndtbKPwdYXYq4/G\naRlGXNLh6SKL19o8a/uD9Kll+3556DqvE7Y1AgZZL96dXo3iHEwlph4JBV4M\nnUT5GK+8Zv3EDoGEsk7L2iTDmJXt1WdPcUE2FWN/JDfJlKj8kxL1BbchuO1L\nBXW5JD4UbyJI8EQ0us2AttvM6WBSbHuvZlAdEXmTnfvfy3xQwfUeVZZ6ZzsP\nc9G0\r\n=wtpR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFuAVXYwSvUYBenkRqMf8DfPX0n3I6yg+5fGxahbVjEqAiAaoHJqloKPSnIhe6cr4HTgu+EBhm6EYSjeWFse9bKrMQ=="}]},"maintainers":[{"name":"shanefontaine","email":"shane6fontaine@gmail.com"}],"_npmUser":{"name":"shanefontaine","email":"shane6fontaine@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eth-revert-reason_1.0.2_1587569386961_0.14613774354549336"},"_hasShrinkwrap":false},"1.0.3":{"name":"eth-revert-reason","version":"1.0.3","description":"Get the revert reason from an Ethereum transaction hash","main":"index.js","types":"index.d.ts","scripts":{"publish-module":"npm publish --access public","dist-tag":"npm dist-tag add \"eth-revert-reason@$(jq -r .version <package.json)\" latest","release":"npm test && npm run publish-module && npm run dist-tag","test":"jest test/*.js"},"repository":{"type":"git","url":"git+https://github.com/authereum/eth-revert-reason.git"},"bugs":{"url":"https://github.com/authereum/eth-revert-reason/issues"},"homepage":"https://github.com/authereum/eth-revert-reason","author":{"name":"Shane Fontaine","email":"shane.fontaine@authereum.com","url":"https://authereum.com/"},"contributors":[{"name":"Miguel Mota","email":"miguel.mota@authereum.com"},{"name":"Chris Whinfrey","email":"chris.whinfrey@authereum.com"},{"name":"Adam Hanna","email":"adam.hanna@authereum.com"}],"license":"MIT","bin":{"getRevertReason":"cli.js"},"dependencies":{"ethers":"^4.0.46"},"devDependencies":{"chai":"^4.2.0","jest":"^25.4.0","mocha":"^7.1.1"},"keywords":["ethereum","revert","string","transaction"],"gitHead":"5270d93a0a671e014e4d5a2b2e87d2517b878258","_id":"eth-revert-reason@1.0.3","_nodeVersion":"11.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-HD4pB+s2Jr4cwdywbcTcdLXPwxOZNrnH/luVuploeqEBlCNvFZQGzOwfgOy8WTSTqqEvjZOrIt+cNPt5Zl4pXw==","shasum":"aa287b81b2b262196bec7cb98b87eb216e5cb0ef","tarball":"https://registry.npmjs.org/eth-revert-reason/-/eth-revert-reason-1.0.3.tgz","fileCount":7,"unpackedSize":25523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeycE/CRA9TVsSAnZWagAAg78P+gPM8NVL5CZlBNf0xwoP\nsS35TuTM/kCyLc12uBFamN6z5U5MLxiX7Z+YYzaG0vRG8TU0aUNxtHFNgKPJ\n95jfkpFdJeFAvoCAi47QOkQb+KryWIIMLKwqYpMltLuJ+RNpMOOeBcWAypC4\nP94fjikgSib0grPHmFsU0A+B0N7J2xyk4uj2ErOEXBiuYgynrMNNcX60juSG\nutxB0ht1zbH4tPGBfdd5qYpWgs9sSqEuQaex71tes/dDetcEDVerpAbtWPsC\nD5DQHPm/mnXG09vB8U8yux9HmX1go88rrm1zYVPh0Ner4TNgJNksUeyrygDG\nkyps4Ev3vuS0OFowjwJZSPHTQblIh+Psi17Lok2/W1yfYNCd3GwEyalChfpO\n9lmeSWAwIMswWFoIt/yw4peULPBHia/uRNGflMba+GXLTVW0RYbuIZ0fzRTa\nY4EOzlmY7hVl6Q4YDSHktszEWYS/fhaV8SmFSRuJWCyUodiNAwYQgk0f9o7f\nClRyqiOi6feD7kTutre5lCtb/Lm3jbSQNtsgqMxZira8A2AdTeyG/9o8qz5L\n4y1VsOISF3VKJiD1NYhtxkzCsoWDZHvKrAWjLuUr1tt+YHNG/MS1F9+BgCi/\nTywYRWN2ViwFymYEK1MQdm6l3gbCCXcIhKomByWV7tnq2NYgAjLIJl+7fa+N\njHCU\r\n=/npe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnT/7GR2od9Hdt3V4zjsa9AclBXACk/FIgv8zILfx6LwIgZB9s+vE7MGbu/1IG5k+mjrlav3QtVXUrV0CJP5vz/qQ="}]},"maintainers":[{"name":"shanefontaine","email":"shane6fontaine@gmail.com"}],"_npmUser":{"name":"shanefontaine","email":"shane6fontaine@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eth-revert-reason_1.0.3_1590280511136_0.03912598969614356"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-19T23:43:54.250Z","1.0.0":"2020-04-19T23:43:54.453Z","modified":"2022-05-01T18:15:24.764Z","1.0.1":"2020-04-21T19:09:49.332Z","1.0.2":"2020-04-22T15:29:47.106Z","1.0.3":"2020-05-24T00:35:11.242Z"},"maintainers":[{"name":"shanefontaine","email":"shane6fontaine@gmail.com"}],"description":"Get the revert reason from an Ethereum transaction hash","homepage":"https://github.com/authereum/eth-revert-reason","keywords":["ethereum","revert","string","transaction"],"repository":{"type":"git","url":"git+https://github.com/authereum/eth-revert-reason.git"},"author":{"name":"Shane Fontaine","email":"shane.fontaine@authereum.com","url":"https://authereum.com/"},"bugs":{"url":"https://github.com/authereum/eth-revert-reason/issues"},"license":"MIT","readme":"# eth-revert-reason\n\n> Get the revert reason from a tx hash on Ethereum\n\n[![License](http://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/authereum/eth-revert-reason/master/LICENSE)\n[![NPM version](https://badge.fury.io/js/eth-revert-reason.svg)](http://badge.fury.io/js/eth-revert-reason)\n\n## Install\n\n```bash\nnpm install eth-revert-reason\n```\n\n## Notes\n1. For now, this works consistently with the [Infura](https://infura.io/) and [Alchemy](https://docs.alchemyapi.io/) providers. Any other providers that you pass in may not work.\n2. There are rare cases where a revert reason may be 'x' from the context of one block but it will be 'y' from the context of another block. This may cause inconsistencies.\n3. This package relies on the ethers.js default provider. This provider may be subject to rate limits or inconsistencies. For consistent results, please pass in your own provider.\n4. Alchemy's provider v2 uses Geth.\n\n\n## Getting started\n\n```javascript\nconst getRevertReason = require('eth-revert-reason')\n\n// Failed with revert reason \"Failed test\"\nconsole.log(await getRevertReason('0xf212cc42d0eded75041225d71da6c3a8348bdb9102f2b73434b480419d31d69a')) // 'Failed test'\nconsole.log(await getRevertReason('0x640d2e0d1f4cff9b6e273458216451efb0dc08ebc13c30f6c88d48be7b35872a', 'goerli')) // 'Failed test'\n\n// Failed with no revert reason\nconsole.log(await getRevertReason('0x95ac5a6a1752ccac9647eb21ef8614ca2d3e40a5dbb99914adf87690fb1e6ccf')) // ''\n\n// Successful transaction\nconsole.log(await getRevertReason('0x02b8f8a00a0c0e9dcf60ddebd37ea305483fb30fd61233a505b73036408cae75')) // ''\n\n// Call from the context of a previous block with a custom provider\nlet txHash = '0x6ea1798a2d0d21db18d6e45ca00f230160b05f172f6022aa138a0b605831d740'\nlet network = 'mainnet'\nlet blockNumber = 9892243\nlet provider = getAlchemyProvider(network) // NOTE: getAlchemyProvider is not exposed in this package\nconsole.log(await getRevertReason(txHash, network, blockNumber, provider)) // 'BA: Insufficient gas (ETH) for refund'\n```\n\n## Future work\nThe following features will be added over time:\n\n1. A better way to determine whether or not a node is full-archive.\n2. A better way to determine whether or not a node exposes Parity `trace` methods.\n3. Reduce the number of calls made by the provider.\n4. Use raw RPC calls instead of a library\n    - Will require unwrapping the provider from the library if provider is still a parameter\n        - Note: this would still require using the ethers default provider\n\n\n## Test\n\n```bash\nnpm test\n```\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","contributors":[{"name":"Miguel Mota","email":"miguel.mota@authereum.com"},{"name":"Chris Whinfrey","email":"chris.whinfrey@authereum.com"},{"name":"Adam Hanna","email":"adam.hanna@authereum.com"}]}