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
FundRaiser
contract.
- 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.