Procedurally generate packing libraries #5051
Closed
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 extends the new (unreleased) Packing library to be automatically generated. It allows for packing values into
bytes32
,bytes16
,bytes8
andbytes4
.I decided to split the contract in
PackingBytes32
,PackingBytes16
,PackingBytes8
andPackingBytes4
. The reason is that when function identifiers collide (i.e. there are multiple definitions ofat
andpack
so the compiler can't dissambiguate).The alternative is to give users instructions of how to apply the
using
syntax to only apply the functions to those types intended. This is simpler imo.PR Checklist
npx changeset add
)