fix: Max approval and array value spending cap bugs #27573
Merged
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 fixes two bugs.
The first happens when the user approves a token for the max amount. This value is decoded by sourcify and is tipically expressed in scientific notation. However, this number has more than 15 significant digits. The fix is to coerce the number to a string (also accepted by bignumber js), forcing it to be expressed with 15 significant digits only.
The second bug happens because sometimes the decoded data from sourcify expresses a value of a param as an array of elements. An exception was added to the param lookup, so that we don't try to use an array value as the spending cap to be displayed.
Related issues
Fixes: #27535
Manual testing steps
First bug
Second bug
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist