Welcome to the Charity Funding DAO project, an initiative designed to streamline funding for charities with minimal intermediaries. This DAO empowers its members to select and support charities directly through a transparent and community-driven process.
The FundRaiser contract manages the DAO's funds and charity-related functionalities.
-
Sending Money to a Charity
- Function:
sendToCharity(address _address, uint256 _amount) - Description: Transfers funds to an approved charity.
- Function:
-
Allowing New Charities
- Function:
allowNewCharity(string memory _charityName, address _address) - Description: Permits new charities to participate in the fund.
- Function:
-
Checking Charity Fund Balance
- Function:
charityFundBalance() - Description: Retrieves the current balance of the charity fund.
- Function:
-
Retrieving Charity Information
- Functions:
checkCharityName(address _address): Retrieves the name of an approved charity.checkAllowedCharityFunding(address _address): Checks the total funding allocated to a charity.
- Functions:
The FundToken contract represents the DAO's governance token and is linked to the FundRaiser contract.
-
Minting Tokens and Funding Charities
- Function:
sendFunds() - Description: Mints tokens and sends funds to the charity fund.
- Function:
-
Retrieving FundRaiser Address
- Function:
getFundRaiserAddress() - Description: Returns the address of the associated
FundRaisercontract.
- Function:
- Deploy the project by running:
yarn hardhat deploy
- Start the Hardhat blockchain:
yarn hardhat node
- Propose adding a charity:
yarn hardhat run scripts/newpropose.js
- Vote on the proposal:
yarn hardhat run scripts/vote.js
- Queue and execute the proposal:
yarn hardhat run scripts/queue-and-execute.js
We welcome contributions from the community. If you'd like to contribute, please follow these guidelines:
- Fork the repository.
- Create a branch:
git checkout -b feature/your-feature-name. - Commit your changes:
git commit -am 'Add some feature'. - Push to the branch:
git push origin feature/your-feature-name. - Submit a pull request.
Please make sure to update tests as appropriate and adhere to the code of conduct.
This project is licensed under the MIT License - see the LICENSE file for details.