To-Do List:
PART I - TICKETS HANDLER CONTRACT
-
Deploy contract and make end-to-end tests.
-
Refacto tests using more generic setups -> split 'SetupData' into separate Structs for each contract
and make fewer setup functions that are reusable for all tests. -
Add/Complete tests using Events where relevant -> will imply to update setups again.
-
Add storage value for "tickets_limit_per_account" + getter and setter instead of hardcoded value of 10 (not urgent)
PART II - LOTTERY ENGINE CONTRACT
-
Get familiar again with Pragma's VRF using my implementation from beginning of this year.
-
Rewrite Lottery Engine contract using current latest cairo version.
-
Implement a shit-ton of tests again, because safety is key!
MISC:
-
Update all the codebase using latest cairo prelude/edition = "2023_11" in Scarb.toml (one of major change is the introduction of "pub", but there's more...) /!\ THIS MIGHT CAUSE ISSUES BECAUSE OPENZEPPELIN DEPENDENCY IS CURRENTLY USING AN OLD CAIRO PRELUDE/EDITION /!\
-
Refacto/Optimize codebase for gas efficiency + learn as much as possible about all kinds of testing to reinforce protection.