New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(web3-errors): the undefined data in Eip838ExecutionError #6905
base: 4.x
Are you sure you want to change the base?
Conversation
@@ -159,7 +159,7 @@ export class Eip838ExecutionError extends Web3ContractError { | |||
// error.data, error.data.data or error.data.originalError.data (https://github.com/web3/web3.js/issues/4454#issuecomment-1485953455) | |||
if (typeof error.data === 'object') { | |||
let originalError: { data: string }; | |||
if ('originalError' in error.data) { | |||
if (error.data && 'originalError' in error.data) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Alfxjx Thanks, also add changelog with issue #, in :
https://github.com/web3/web3.js/blob/4.x/packages/web3-errors/CHANGELOG.md of your branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your comments, I submitted the changelog, is it right or should I update the version in package.json of web3-errors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Alfxjx ,
No need to update the version. We do the version update later in a separate PR.
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## 4.x #6905 +/- ##
==========================================
+ Coverage 87.37% 91.99% +4.62%
==========================================
Files 197 215 +18
Lines 7548 8172 +624
Branches 2059 2202 +143
==========================================
+ Hits 6595 7518 +923
+ Misses 953 654 -299
Flags with carried forward coverage won't be shown. Click here to find out more.
|
{ | ||
"cause": undefined, | ||
"code": undefined, | ||
"data": undefined, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code was already working when data
is undefined
. But it does not work when data is null
. So, could you please update the tests?
Thanks,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok I will look into it and fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @Alfxjx ,
Just to clarify that your code looks great! And what I proposed to update is only your tests. That is to test with null
instead of undefined
. Please, let me know if you need any help to finish this.
Thanks,
@Muhammad-Altabba could you update changelog and merge this PR, as seems @Alfxjx is away. |
Description
Fixes #6433
process the undefined data in Eip838ExecutionError constructor to avoid an "read something from undefined" bug.
Type of change
Checklist:
npm run lint
with success and extended the tests and types if necessary.npm run test:unit
with success.npm run test:coverage
and my test cases cover all the lines and branches of the added code.npm run build
and testeddist/web3.min.js
in a browser.CHANGELOG.md
file in the root folder.