Chik Puzzles
This is a collection of the standard Chik puzzles. These are the puzzles which are deployed on chain and therefore cannot change.
This repository tracks the source code, the compiled hex, and a hash of the compiled hex to ensure continuity.
All puzzles are kept in the puzzles folder as both a .clsp and .clsp.hex file.
The Python and Rust bindings are created by running generate_chiklisp_constants.py
Adding Bindings for a New Puzzle
- Add the
.clspand.clsp.hexfiles into theprogramsfolder. - Add the puzzle name, path, and shatree hash into the list in
generate_chiklisp_constants.py. - Run
generate_chiklisp_constants.py. - Commit your changes, including to the outputted
programs.pyandprograms.rs.
Testing
This project is managed with poetry for Python and cargo for Rust.
To run the Python tests:
python -m venv venv
pip install poetry
. ./venv/bin/activate
poetry install
pytest chik_puzzles_py/tests
If you're on Windows activate the venv with . venv\Scripts\activate instead
To run the Rust tests:
cargo test --all