-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Increase eth-abi unit tests above 90% #6679
Conversation
Bundle StatsHey there, this message comes from a github action that helps you and reviewers to understand how these changes affect the size of this project's bundle. As this PR is updated, I'll keep you updated on how the bundle size is impacted. Total
View detailed bundle breakdownAdded
Removed No assets were removed Bigger No assets were bigger Smaller No assets were smaller Unchanged No assets were unchanged |
Deploying with Cloudflare Pages
|
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## 4.x #6679 +/- ##
==========================================
+ Coverage 87.37% 91.61% +4.23%
==========================================
Files 197 214 +17
Lines 7548 8143 +595
Branches 2059 2183 +124
==========================================
+ Hits 6595 7460 +865
+ Misses 953 683 -270
Flags with carried forward coverage won't be shown. Click here to find out more.
|
@@ -152,6 +152,10 @@ export const isOddHexstring = (param: unknown): boolean => | |||
export const formatOddHexstrings = (param: string): string => | |||
isOddHexstring(param) ? `0x0${param.substring(2)}` : param; | |||
|
|||
const paramTypeBytes = /^bytes([0-9]*)$/; |
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.
Move them out of the function because they are constants and we do not need to create them every time we execute the function.
|
||
// Format BN to string | ||
if (param instanceof BigInt) { | ||
if (param instanceof BigInt || typeof param === 'bigint') { |
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.
I've passed BigInt(1) and it was not an instance of BigInt. That is why I've added to check the type
@@ -179,7 +179,7 @@ export const formatParam = (type: string, _param: unknown): unknown => { | |||
// Format correct width for u?int[0-9]* | |||
let match = paramTypeNumber.exec(type); | |||
if (match) { | |||
const size = parseInt(match[2] ?? '256', 10); | |||
const size = parseInt(match[2] ? match[2] : '256', 10); |
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.
if i pass int
match[2] will be empty string ''
. ??
this operator only works with nullish results
Description
Please include a summary of the changes and be sure to follow our Contribution Guidelines.
Fixes #6594
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.