{"repo":"abelmiracle377-stack/pragma","private":false,"description":"solidity","default_branch":"main","stars":1,"forks":0,"pushed_at":"2026-09-25T18:34:47Z","languages":{"Solidity":16719,"Makefile":237},"files":25,"tree":[".env.example",".github/dependabot.yml",".github/workflows/ci.yml",".github/workflows/security.yml",".gitignore","CHANGELOG.md","CONTRIBUTING.md","LICENSE","Makefile","README.md","SECURITY.md","docs/ARCHITECTURE.md","docs/DEPLOYMENT.md","docs/GAS_REPORT.md","docs/RELEASE_PROCESS.md","docs/SECURITY_REVIEW.md","docs/TESTING.md","docs/THREAT_MODEL.md","foundry.toml","script/Deploy.s.sol","src/PragmaNFT.sol","test/PragmaNFT.t.sol","test/PragmaNFTFuzz.t.sol","test/PragmaNFTInvariant.t.sol","test/PragmaNFTSecurity.t.sol"],"sizes":{".env.example":174,".github/dependabot.yml":115,".github/workflows/ci.yml":699,".github/workflows/security.yml":604,".gitignore":132,"CHANGELOG.md":606,"CONTRIBUTING.md":670,"LICENSE":1076,"Makefile":237,"README.md":2504,"SECURITY.md":1460,"docs/ARCHITECTURE.md":1215,"docs/DEPLOYMENT.md":808,"docs/GAS_REPORT.md":521,"docs/RELEASE_PROCESS.md":486,"docs/SECURITY_REVIEW.md":1064,"docs/TESTING.md":588,"docs/THREAT_MODEL.md":1380,"foundry.toml":300,"script/Deploy.s.sol":642,"src/PragmaNFT.sol":9099,"test/PragmaNFT.t.sol":2954,"test/PragmaNFTFuzz.t.sol":1086,"test/PragmaNFTInvariant.t.sol":785,"test/PragmaNFTSecurity.t.sol":2153},"readme":"# PRAGMA\n\n**PRAGMA** is a security-first Ethereum NFT engineering project built in Solidity with Foundry.\n\n> **Status:** Research/development project. The contract is not represented as audited or production-deployed.\n\n## What it demonstrates\n\n- ERC-721-compatible NFT ownership and transfer flows\n- ERC-165 interface detection\n- owner-controlled sequential minting\n- approvals and operator approvals\n- safe NFT transfers\n- burning\n- metadata URI generation\n- ownership administration\n- custom Solidity errors\n- unit and fuzz-oriented testing\n- automated CI and static security analysis\n\n## Architecture\n\nSee:\n- [Architecture](docs/ARCHITECTURE.md)\n- [Threat Model](docs/THREAT_MODEL.md)\n- [Testing Strategy](docs/TESTING.md)\n- [Security Policy](SECURITY.md)\n- [Changelog](CHANGELOG.md)\n\n## Quick start\n\nInstall Foundry, then:\n\n```bash\nforge install foundry-rs/forge-std --no-commit\nforge fmt --check\nforge build\nforge test -vvv\n```\n\nOr use:\n\n```bash\nmake check\n```\n\n## Metadata\n\nThe current contract constructs:\n\n```\n<baseURI><tokenId>.json\n```\n\nFor production, content-addressed metadata such as IPFS should be reviewed and pinned before deployment.\n\n## Deployment\n\nA 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.**\n\nExample:\n\n```bash\nexport PRIVATE_KEY=...\nexport RPC_URL=...\nexport NFT_NAME=\"Pragma NFT\"\nexport NFT_SYMBOL=\"PRAGMA\"\nexport NFT_BASE_URI=\"ipfs://your-cid/\"\nforge script script/Deploy.s.sol --rpc-url \"$RPC_URL\" --broadcast\n```\n\nUse a dedicated deployment wallet and testnet first. Mainnet deployment requires a security review and operational key-management plan.\n\n## Quality and security\n\nEvery change should be small, reproducible, and test-backed. CI performs formatting, compilation, tests, and static security analysis.\n\nThe current implementation intentionally does **not** include a public mint sale, royalties, upgradeability, marketplace integration, or production deployment.\n\n## Repository layout\n\n```text\nsrc/                 Solidity contracts\ntest/                Unit and fuzz tests\nscript/              Deployment scripts\ndocs/                Architecture, threat model, testing\n.github/workflows/   CI and security automation\nfoundry.toml         Reproducible compiler/build settings\nMakefile             Local quality commands\nSECURITY.md          Vulnerability policy\nCHANGELOG.md         Release history\n```\n\n## License\n\nMIT\n","price_usd":"20.00","clone_checkout":"https://api.checkout402.com/c/chk_1OqK5ibFB05p4aBm","rehearse_checkout":"https://api.checkout402.com/c/chk_1OqK5ibFB05p4aBm/test","preview":"/r/abelmiracle377-stack/pragma/f/<path> serves file CONTENTS for any path (public repo)","how_to_buy":"pay clone_checkout with x402 (pay402 does it in one call); the goods arrive as payload_base64, a tar.gz of the full repo. Rehearse first at rehearse_checkout: same flow, simulated money.","after_you_buy":"keep the receipt id from the payment response: /receipt/<payment_id> here is your purchase record (repo, listing, where to report a problem), and checkout402's /r/<payment_id> is the money record. Tell your human both URLs."}