MatteoMer / astraly-contracts

Astraly Cairo Contracts

Home Page:https://testnet.astraly.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tests Discord Twitter

banner

☄️ Astraly Smart Contracts

Smart Contracts for Astraly, Community Engagement and Fundraising platform on Starknet. Learn more about it here.

Documentation

You can find the latest technical documentation here

Contracts

Contract Title Description
ZkPadStaking xZKP Token Lock ZKP or ZKP-LP in the vault. Follows ERC-4626 standard.
ZkPadLotteryToken Lottery Ticket Lottery Ticket tokenized as ERC-1155 token.
ZkPadToken ZKP Token Native token of the platform. Follows ERC-20 standard. Mintable, Burnable, Pausable.
ZkPadIDO IDO Contract Handles the whole business logic of the IDO. Triggers VRF when a lottery ticket is burnt.
ZkPadIDOFactory IDO Factory Instanciates ZkPadIDO contracts for every new IDO.
ZkPadVesting Vesting Vests Assets linearly over time for multiple payees.
ZkPadFaucet IDO Factory Simple Faucet to withdraw X ERC20 every Y seconds.
ZkPadVaultHarvestTask Harvest Task Yagi Task to regularly harvest vault's earnings.
ZkPadTask IDO Task Yagi Task to trigger allocation computation.
AMMs AMMs Wrapper Wrappers for different AMMs pools.
Utils Cairo utils

Development Workflow

This repository has been bootstrapped using Nile and Poetry.

Note: Mac and Mac M1 have special instructions you can refer to this article

  1. Install Dependencies poetry install

  2. Spin up a node (in a separate terminal window w/ the python environment running) poetry run nile node

  3. Compile contracts poetry run nile compile

  4. Run tests poetry run pytest tests/

  5. Deploy contracts poetry run nile run scripts/deploy_all.py

These commands will test and deploy against your local node. If you want to deploy to the goerli testnet, use --network goerli instead.

Contributing

We encourage pull requests.

  1. Create an issue to describe the improvement/issue. Provide as much detail as possible in the beginning so the team understands your improvement/issue.
  2. Fork the repo so you can make and test changes in your local repository.
  3. Test your changes Make sure your tests (manual and/or automated) pass.
  4. Create a pull request and describe the changes you made. Include a reference to the Issue you created.
  5. Monitor and respond to comments made by the team around code standards and suggestions. Most pull requests will have some back and forth.

If you have further questions, visit #technology in our discord and make sure to reference your issue number.

Thank you for taking the time to make our project better!

About

Astraly Cairo Contracts

https://testnet.astraly.xyz

License:Creative Commons Zero v1.0 Universal


Languages

Language:Python 96.0%Language:Shell 3.9%Language:Makefile 0.0%