Currently, NextShuffler is designed as a contract that users can inherit from. While this is convenient and easy to set up, it precludes the usage of multiple shufflers in the same contract.
To solve this, the logic was moved to a library that acts on shufflers stored in storage to allow full flexibility + adding some functions to restart/reset shufflers.
Currently,
NextShuffler
is designed as a contract that users can inherit from. While this is convenient and easy to set up, it precludes the usage of multiple shufflers in the same contract.To solve this, the logic was moved to a library that acts on shufflers stored in storage to allow full flexibility + adding some functions to restart/reset shufflers.
This change is