Structured, dependable legos for starknet development.
contracts ├─ defi ├─ StakingRewards — "Flexible, stripped staking rewards measured by blocks" ├─ interfaces ├─ IAccount — "Account Interface" ├─ IERC20 — "ERC20 Contract Interface" ├─ IERC721 — "ERC721 Contract Interface" ├─ tokens ├─ ERC20 — "Modern and gas efficient ERC20 + EIP-2612 implementation" ├─ ERC721 — "Modern and gas efficient ERC721 + EIP-2612 implementation" ├─ utils ├─ Account — "Stripped account" ├─ Ownable — "Minimal, ownable contract instance" ├─ Context — "Port of OZ's Solidity Context Abstraction" ├─ Pausible — "Pausible Solidity Functionality" tests ├─ test_StakingRewards — "Flexible, stripped staking rewards measured by blocks" ├─ test_ERC20 - "Test ERC20 contract" ├─ test_ERC721 - "Test ERC721 contract" ├─ test_Ownable - "Test Ownable contract"
Further installation instructions provided in the cairo-lang docs
Before installing Cairo on your machine, you need to install
sudo apt install -y libgmp3-dev # linux brew install gmp # mac
If you have any troubles installing gmp on your Apple M1 computer, here’s a list of potential solutions.
For VSCode support:
cairo-0.6.2.vsix from https://github.com/starkware-libs/cairo-lang/releases/tag/v0.6.2
code --install-extension cairo-0.6.2.vsix
Set up the project
Clone the repository
git clone [email protected]:a5f9t4/cairomate.git
cd into it and create a Python virtual environment:
cd cairomate python3 -m venv env source env/bin/activate
pip3 install cairo-nile nile install
Compile the contracts
Extending Cairo contracts
There’s no clear contract extensibility pattern for Cairo smart contracts yet. In the meantime the best way to extend our contracts is copypasting and modifying them at your own risk. Remember this contracts are still under development and they have not gone through any audit or security review whatsoever.
Big thanks to:
This project is still in a very early and experimental phase. It has never been audited nor thoroughly reviewed for security vulnerabilities. Do not use in production.
Please report any security issues you find by opening up an issue in this reposisitory.
Cairomate Contracts are released under the AGPL-3.0-only.