{"id":24180022,"url":"https://github.com/squilliamx/foundry-upgradeable-uups","last_synced_at":"2026-05-09T16:10:44.871Z","repository":{"id":269108480,"uuid":"906437558","full_name":"SquilliamX/Foundry-Upgradeable-UUPS","owner":"SquilliamX","description":"Professional implementation of upgradeable smart contract system demonstrating mastery of UUPS proxy patterns, state persistence, and secure upgrade mechanisms. Built with industry best practices using Foundry \u0026 OpenZeppelin. Features comprehensive testing suite and automated deployment infrastructure.","archived":false,"fork":false,"pushed_at":"2024-12-26T04:59:11.000Z","size":448,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T22:37:20.629Z","etag":null,"topics":["erc1967","ethereum","foundry","openzeppelin-solidity","proxy","solidity","upgradeable-smart-contract","uups-proxy-pattern"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SquilliamX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-20T23:03:45.000Z","updated_at":"2024-12-26T04:59:14.000Z","dependencies_parsed_at":"2025-06-16T07:06:03.918Z","dependency_job_id":"6c6e9075-fd19-4651-8e40-3787d513bda9","html_url":"https://github.com/SquilliamX/Foundry-Upgradeable-UUPS","commit_stats":null,"previous_names":["squilliamx/foundry-upgrades","squilliamx/foundry-upgradeable-uups"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SquilliamX/Foundry-Upgradeable-UUPS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquilliamX%2FFoundry-Upgradeable-UUPS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquilliamX%2FFoundry-Upgradeable-UUPS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquilliamX%2FFoundry-Upgradeable-UUPS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquilliamX%2FFoundry-Upgradeable-UUPS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SquilliamX","download_url":"https://codeload.github.com/SquilliamX/Foundry-Upgradeable-UUPS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquilliamX%2FFoundry-Upgradeable-UUPS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280878346,"owners_count":26406641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erc1967","ethereum","foundry","openzeppelin-solidity","proxy","solidity","upgradeable-smart-contract","uups-proxy-pattern"],"created_at":"2025-01-13T06:11:34.018Z","updated_at":"2025-10-24T22:37:23.690Z","avatar_url":"https://github.com/SquilliamX.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Upgradeable Smart Contract System\n\nA professional-grade implementation of upgradeable smart contracts using the UUPS (Universal Upgradeable Proxy Standard) pattern. This project showcases advanced Solidity development practices, comprehensive testing, and secure upgrade mechanisms.\n\n## 🌟 Key Features\n\n- **UUPS Proxy Pattern Implementation**: Leverages OpenZeppelin's battle-tested contracts for secure upgradeability\n- **Version Control**: Seamless contract versioning with BoxV1 → BoxV2 upgrade path\n- **Comprehensive Testing**: Full test coverage using Foundry's robust testing framework\n- **Professional Deployment Scripts**: Automated deployment and upgrade processes\n- **Security-First Design**: Implements critical security patterns and access controls\n\n## 🏗️ Technical Architecture\n\n### Smart Contracts\n\n- `BoxV1.sol` - Initial implementation with basic functionality\n- `BoxV2.sol` - Enhanced implementation with additional features\n- `ERC1967Proxy` - Industry-standard proxy contract from OpenZeppelin\n\n### Infrastructure\n\n- **Framework**: Built with Foundry for modern Solidity development\n- **Testing**: Advanced test suite with state management and upgrade verification\n- **Deployment**: Automated scripts for both initial deployment and upgrades\n\n## 🔒 Security Features\n\n- Initialization protection using OpenZeppelin's `Initializable`\n- Ownership management with `OwnableUpgradeable`\n- UUPS upgrade pattern with access controls\n- Constructor safeguards for implementation contracts\n\n## Quick Start\n\n```bash\ngit clone https://github.com/SquilliamX/Foundry-Upgradeable-UUPS.git\ncd Foundry-Upgradeable-UUPS\nforge build\nforge install\n```\n\n## 🧪 Testing\n\n```bash\nforge test\n```\n\nThe test suite includes:\n- Proxy deployment verification\n- Implementation upgrade validation\n- State persistence checks\n- Access control verification\n\n## 📦 Deployment\n\nThe system uses a two-step deployment process:\n\n1. Initial Deployment:\n```bash\nforge script script/DeployBox.s.sol\n```\n\n2. Upgrade Process:\n```bash\nforge script script/UpgradeBox.s.sol\n```\n\n## 🔍 Technical Deep Dive\n\n### Upgrade Pattern\nThe system implements the UUPS pattern, which:\n- Maintains a single proxy entry point\n- Preserves contract state during upgrades\n- Reduces gas costs compared to alternative patterns\n- Provides enhanced security through implementation-side upgrade logic\n\n### State Management\n- Utilizes OpenZeppelin's upgradeable contracts\n- Implements proper initialization patterns\n- Maintains state consistency across upgrades\n\n## 🛠️ Development Stack\n\n- Solidity ^0.8.19\n- OpenZeppelin Contracts (Upgradeable)\n- Foundry Development Framework\n- DevOps Tools for Deployment Management\n\n## 🤝 Contributing\n\nContributions are welcome! Please check our contributing guidelines and submit PRs for any enhancements.\n\n## 📄 License\n\nThis project is licensed under the MIT License\n\n---\n\nNote: This protocol is a demonstration of advanced Solidity development practices and should not be used in production without thorough auditing. ⚠️\n\n\n*Built with ❤️ by Squilliam*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquilliamx%2Ffoundry-upgradeable-uups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquilliamx%2Ffoundry-upgradeable-uups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquilliamx%2Ffoundry-upgradeable-uups/lists"}