Another thing to note that current PoC has a possible collision for hashes because tokenId’s being offseted for (0…3) to define different kinds of requirements.
Right now I think that best way around that is to add these offsets in leftmost byte (msb) of the token id. That way exact signature hash match (msg.sig
casted to uint256
) can stay the same, but incrementing can be done by simple OR bitewise mask.