From 1a02e110d8516498c695041befa2729f403aa29c Mon Sep 17 00:00:00 2001 From: Collins Ikechukwu Date: Sat, 23 Nov 2024 08:19:54 +0100 Subject: [PATCH 1/2] Docs: Add README file with project overview and instructions --- README.md | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a2cbcfd --- /dev/null +++ b/README.md @@ -0,0 +1,101 @@ +# Resolver CCIP + +## Overview + +Resolver CCIP is a smart contract implementation in Cairo for Starknet that enables CCIP-Read (Cross-Chain Interoperability Protocol Read) functionality. This resolver allows for efficient off-chain data resolution while maintaining the security guarantees of the blockchain. + +## Prerequisites + +- [Cairo](https://www.cairo-lang.org/docs/quickstart.html) - Smart contract programming language +- [Scarb](https://docs.swmansion.com/scarb/) - Package manager for Cairo +- Python 3.9 or higher +- [Starknet-devnet](https://github.com/0xSpaceShard/starknet-devnet) (for local testing) + +## Installation + +1. Clone the repository +```bash +git clone https://github.com/lfglabs-dev/resolver_ccip.git +cd resolver_ccip +``` + +2. Install Python dependencies +```bash +pip install -r requirements.txt +``` + +3. Build Cairo contracts +```bash +scarb build +``` + +## Project Structure + +``` +resolver_ccip/ +├── src/ # Cairo smart contracts +│ └── lib.cairo # Main contract implementation +├── scripts/ # Deployment and utility scripts +├── .env.example # Environment variables template +├── Scarb.toml # Cairo project configuration +└── requirements.txt # Python dependencies +``` + +## Usage + +1. Configure your environment: +```bash +cp .env.example .env +# Edit .env with your configuration +``` + +2. Deploy the resolver: +```bash +python scripts/deploy.py +``` + +3. Update resolver configuration: +```bash +python scripts/update_resolver.py +``` + +## Testing + +Run Cairo tests: +```bash +scarb test +``` + +## Development + +The project uses: +- Cairo for smart contracts (61.8% of codebase) +- Python for scripts and testing (38.2% of codebase) + +## Contributing + +1. Fork the repository +2. Create your feature branch +```bash +git checkout -b feature/your-feature-name +``` +3. Commit your changes +4. Push to the branch +5. Create a Pull Request + +## License + +This project is licensed under the MIT License. + +## Security + +For security concerns, please open an issue or contact the maintainers directly. + +## Maintainers + +- @irisdv +- @Th0rgal +- @Marchand-Nicolas +- @fricoben + +For more information or support, please open an issue on the GitHub repository. \ No newline at end of file From 191fdf9a45071de500cd47680a3cf49bba0b24ce Mon Sep 17 00:00:00 2001 From: Collins Ikechukwu Date: Sat, 23 Nov 2024 08:28:03 +0100 Subject: [PATCH 2/2] docs: update README to streamline sections and remove redundant information --- README.md | 48 ++++++------------------------------------------ 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index a2cbcfd..22f9922 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,9 @@ # Resolver CCIP -## Overview +## Description Resolver CCIP is a smart contract implementation in Cairo for Starknet that enables CCIP-Read (Cross-Chain Interoperability Protocol Read) functionality. This resolver allows for efficient off-chain data resolution while maintaining the security guarantees of the blockchain. -## Prerequisites - -- [Cairo](https://www.cairo-lang.org/docs/quickstart.html) - Smart contract programming language -- [Scarb](https://docs.swmansion.com/scarb/) - Package manager for Cairo -- Python 3.9 or higher -- [Starknet-devnet](https://github.com/0xSpaceShard/starknet-devnet) (for local testing) - ## Installation 1. Clone the repository @@ -29,18 +22,6 @@ pip install -r requirements.txt scarb build ``` -## Project Structure - -``` -resolver_ccip/ -├── src/ # Cairo smart contracts -│ └── lib.cairo # Main contract implementation -├── scripts/ # Deployment and utility scripts -├── .env.example # Environment variables template -├── Scarb.toml # Cairo project configuration -└── requirements.txt # Python dependencies -``` - ## Usage 1. Configure your environment: @@ -50,14 +31,11 @@ cp .env.example .env ``` 2. Deploy the resolver: +To deploy the contracts: ```bash python scripts/deploy.py ``` -3. Update resolver configuration: -```bash -python scripts/update_resolver.py -``` ## Testing @@ -66,11 +44,10 @@ Run Cairo tests: scarb test ``` -## Development - -The project uses: -- Cairo for smart contracts (61.8% of codebase) -- Python for scripts and testing (38.2% of codebase) +For Python tests: +```bash +pytest +``` ## Contributing @@ -86,16 +63,3 @@ git checkout -b feature/your-feature-name ## License This project is licensed under the MIT License. - -## Security - -For security concerns, please open an issue or contact the maintainers directly. - -## Maintainers - -- @irisdv -- @Th0rgal -- @Marchand-Nicolas -- @fricoben - -For more information or support, please open an issue on the GitHub repository. \ No newline at end of file