This repository was archived by the owner on Mar 5, 2025. It is now read-only.
Fixed encodeParameters to handle a fixed length tuple array #4003
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces that modify the
web3.eth.abi.encodeParameterslogic to handle a fixed length tuple array.I am a developer developing caver-js, a project that forked web3.js.
I was testing the
encodeParametersfunction and found a bug that couldn't handle an array of fixed length tuples.The problem was with
coder.type.replace('[]','').If the length is not fixed (i.e.
tuple(string,string)[]), thecoder.type.replace('[]','')can processe normally by obtaining the coder for the inner element as a tuple type.However, if the length was fixed (i.e.
tuple(string,string)[3]),coder.type.replace('[]','')cannot process.To solve this, change to replace when n numbers inside [] parentheses come.
Type of change
Checklist:
npm run dtslintwith success and extended the tests and types if necessary.npm run test:unitwith success.npm run test:covand my test cases cover all the lines and branches of the added code.npm run buildand testeddist/web3.min.jsin a browser.CHANGELOG.mdfile in the root folder.