Package: openzeppelin-cairo-contracts-test
OpenZeppelin Cairo ContractsA library for secure smart contract developmentwritten in Cairo forStarkNet, a decentralized ZK Rollup.⚠️ WARNING! ⚠️This is repo contains highly experimental code.
Expect rapid iteration.Do not use in production.InstallationFirst time?Before installing Cairo on your machine, you need to installgmp:sudoaptinstall-ylibgmp3-dev# linuxbrewinstallgmp# macIf you have any troubles installing gmp on your Apple M1 computer,here’s a list of potential solutions.Set up the projectClone the repositorygitclonegit@github.com:OpenZeppelin/cairo-contracts.gitcdinto it and create a Python virtual environment:cdcairo-contracts
python3-mvenvenvsourceenv/bin/activateInstall theNiledev environment and then runinstallto getthe Cairo language, alocal network, and atesting framework.pipinstallcairo-nile
nileinstallUsageCompile the contractsnilecompile--directoryopenzeppelin

🤖CompilingallCairocontractsintheopenzeppelindirectory
🔨Compilingopenzeppelin/introspection/ERC165.cairo
🔨Compilingopenzeppelin/introspection/IERC165.cairo
🔨Compilingopenzeppelin/token/erc721/ERC721_Mintable_Burnable.cairo
🔨Compilingopenzeppelin/token/erc721/ERC721_Mintable_Pausable.cairo
🔨Compilingopenzeppelin/token/erc721/library.cairo
🔨Compilingopenzeppelin/token/erc721/interfaces/IERC721_Metadata.cairo
🔨Compilingopenzeppelin/token/erc721/interfaces/IERC721.cairo
🔨Compilingopenzeppelin/token/erc721/interfaces/IERC721_Receiver.cairo
🔨Compilingopenzeppelin/token/erc721/utils/ERC721_Holder.cairo
🔨Compilingopenzeppelin/token/erc20/ERC20_Mintable.cairo
🔨Compilingopenzeppelin/token/erc20/ERC20.cairo
🔨Compilingopenzeppelin/token/erc20/library.cairo
🔨Compilingopenzeppelin/token/erc20/ERC20_Pausable.cairo
🔨Compilingopenzeppelin/token/erc20/interfaces/IERC20.cairo
🔨Compilingopenzeppelin/token/erc721_enumerable/ERC721_Enumerable_Mintable_Burnable.cairo
🔨Compilingopenzeppelin/token/erc721_enumerable/library.cairo
🔨Compilingopenzeppelin/token/erc721_enumerable/interfaces/IERC721_Enumerable.cairo
🔨Compilingopenzeppelin/security/pausable.cairo
🔨Compilingopenzeppelin/security/safemath.cairo
🔨Compilingopenzeppelin/security/initializable.cairo
🔨Compilingopenzeppelin/access/ownable.cairo
🔨Compilingopenzeppelin/account/IAccount.cairo
🔨Compilingopenzeppelin/account/Account.cairo
🔨Compilingopenzeppelin/account/AddressRegistry.cairo
🔨Compilingopenzeppelin/utils/constants.cairo
✅DoneRun testsRun tests usingtox, tox automatically creates an isolated testing environment:tox======================testsessionstarts======================platformlinux--Python3.7.2,pytest-6.2.5,py-1.11.0,pluggy-1.0.0
rootdir:/home/readme/cairo-contracts
plugins:asyncio-0.16.0,web3-5.24.0,typeguard-2.13.0
collected19itemstests/test_Account.py....[21%]tests/test_AddressRegistry.py..[31%]tests/test_ERC20.py..........[84%]tests/test_Initializable.py.[89%]tests/test_Ownable.py..[100%]LearnContract documentationAccountERC20ERC721Contract extensibility patternProxies and upgradesUtilitiesCairoStarkNet official documentationCairo language documentationPerama'sCairo by exampleCairo 101 workshopsNileGetting started with StarkNet using NileHow to manage smart contract deployments with NileSecurityThis 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 tosecurity@openzeppelin.org.LicenseOpenZeppelin Cairo Contracts is released under theMIT License.