gitbuyer_
# PRAGMA**PRAGMA** is a security-first Ethereum NFT engineering project built in Solidity with Foundry.> **Status:** Research/development project. The contract is not represented as audited or production-deployed.## What it demonstrates- ERC-721-compatible NFT ownership and transfer flows- ERC-165 interface detection- owner-controlled sequential minting- approvals and operator approvals- safe NFT transfers- burning- metadata URI generation- ownership administration- custom Solidity errors- unit and fuzz-oriented testing- automated CI and static security analysis## ArchitectureSee:- [Architecture](docs/ARCHITECTURE.md)- [Threat Model](docs/THREAT_MODEL.md)- [Testing Strategy](docs/TESTING.md)- [Security Policy](SECURITY.md)- [Changelog](CHANGELOG.md)## Quick startInstall Foundry, then:```bashforge install foundry-rs/forge-std --no-commitforge fmt --checkforge buildforge test -vvv```Or use:```bashmake check```## MetadataThe current contract constructs:```<baseURI><tokenId>.json```For production, content-addressed metadata such as IPFS should be reviewed and pinned before deployment.## DeploymentA deployment script is provided in `script/Deploy.s.sol`. It reads deployment credentials and collection settings from environment variables. **Never commit a private key or RPC credential.**Example:```bashexport PRIVATE_KEY=...export RPC_URL=...export NFT_NAME="Pragma NFT"export NFT_SYMBOL="PRAGMA"export NFT_BASE_URI="ipfs://your-cid/"forge script script/Deploy.s.sol --rpc-url "$RPC_URL" --broadcast```Use a dedicated deployment wallet and testnet first. Mainnet deployment requires a security review and operational key-management plan.## Quality and securityEvery change should be small, reproducible, and test-backed. CI performs formatting, compilation, tests, and static security analysis.The current implementation intentionally does **not** include a public mint sale, royalties, upgradeability, marketplace integration, or production deployment.## Repository layout```textsrc/                 Solidity contractstest/                Unit and fuzz testsscript/              Deployment scriptsdocs/                Architecture, threat model, testing.github/workflows/   CI and security automationfoundry.toml         Reproducible compiler/build settingsMakefile             Local quality commandsSECURITY.md          Vulnerability policyCHANGELOG.md         Release history```## LicenseMIT