This repository contains the Crowdfunding Smart Contract and its audit report. The contract allows users to contribute funds towards a specific goal within a set duration. The owner can withdraw funds if the goal is met, and contributors can request a refund if the goal is not met within the campaign duration.
CrowdfundingContract.sol
: The main contract file.
CrowdfundingContractTest.t.sol
: Test file for the contract using Foundry.
Link to the detailed audit report
CrowdfundingContractAudit/ │ ├── src/ │ └── CrowdfundingContract.sol ├── test/ │ └── CrowdfundingContractTest.t.sol ├── README.md └── audit/ └── audit_report.pdf (or any other audit report files)
- Foundry toolchain installed.
-
Clone the repository:
git clone https://github.com/yourusername/CrowdfundingContractAudit.git cd CrowdfundingContractAudit
-
Install dependencies (OpenZeppelin Contracts):
forge install OpenZeppelin/openzeppelin-contracts-upgradeable
To run the tests using Foundry:
forge test
The contract uses the OpenZeppelin upgradeable contracts for security and upgradability. Implements reentrancy protection using ReentrancyGuardUpgradeable. Includes pause functionality to allow the owner to pause the contract in case of emergencies.
This project is licensed under the MIT License.
Contributions are welcome! Please open an issue or submit a pull request.
For any questions or suggestions, feel free to open an issue or contact the project maintainers.