Libraries in Solidity can specialize in working with specific data types.
This paradigm is corroborated by the using <Library> for <DataType> syntax.
In our code base, we have some of these library-type pairs:
LibProof for Proof
LibInputRange for InputRange
One outlier is the LibOutputValidation library and OutputValidityProof struct.
It may be due to the former getBitMaskPosition and validateInputIndexRange functions, which did not operate on OutputValidityProof values. But these functions have been removed, leaving only functions that do operate on such values.
✔️ Solution
Rename LibOutputValidation as LibOutputValidityProof.
📚 Context
Libraries in Solidity can specialize in working with specific data types. This paradigm is corroborated by the
using <Library> for <DataType>
syntax. In our code base, we have some of these library-type pairs:LibProof
forProof
LibInputRange
forInputRange
One outlier is the
LibOutputValidation
library andOutputValidityProof
struct. It may be due to the formergetBitMaskPosition
andvalidateInputIndexRange
functions, which did not operate onOutputValidityProof
values. But these functions have been removed, leaving only functions that do operate on such values.✔️ Solution
Rename
LibOutputValidation
asLibOutputValidityProof
.