You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In v5, there is a flag where you can enable strict bytes length checking. See these docs for some background. We want to remove the flag and make the strict checking the default.
How can it be fixed?
This PR added the flag and the stricter checks. We may want to keep flexible bytes type checking and put that behind the flag instead.
The text was updated successfully, but these errors were encountered:
I started working on this and have a question: since the strict byte length checking is going to be the default behavior, should variables named to indicate a strict behavior be renamed accordingly?
For instance in the tests, things like StrictArraysContract would become ArraysContract and the old ArraysContract would be renamed to something like NonStrictArraysContract ?
On Discord, @marcgarreau suggested making names explicit in both cases with Strict and NonStrict, which could potentially mean renaming all variables for default behavior to indicate Strict even if they are not always used to test for strict mode behavior. For instance the web3 fixture used for all testing would need be renamed to web3_strict. Likewise the ArraysContract would be renamed to StrictArraysContract even though it's also used by several test functions that do not test for strict mode.
What was wrong?
In v5, there is a flag where you can enable strict bytes length checking. See these docs for some background. We want to remove the flag and make the strict checking the default.
How can it be fixed?
This PR added the flag and the stricter checks. We may want to keep flexible bytes type checking and put that behind the flag instead.
The text was updated successfully, but these errors were encountered: