Request form
Cookbook may introduce a token in the future. Share and contribute to be eligible for future airdrops.
close icon
relevant tag icon
HQ20 DAO
copy icon
HQ20
• version 1.0.0
DAO
Experimental

HQ20 DAO

This is an exeprimental DAO (Decentralised Autonomous Organization) implementation. Use with caution. * 1. Issue the DAO tokens through an initial investment round. * 2. Propose a venture, and investment amount. * 3. Vote for a venture. Each DAO token is 1 vote. If the proposal passes, or if you renounce your vote, you must manualy take back the tokens. * 4. Fund a venture. Votes count must surpass the DAO's threshold for a majority. * 5. Retrieve the venture tokens for the DAO. * 6. Increase the DAO pool with returns (if any) on the tokens from a venture. * 7. Claim ether dividends from the DAO on behalf of your DAO tokens.

*Visit desktop site to download or deploy

Version

1.0.0

Creator

HQ20

Last Publish

10/17/2022
Any contract you deploy is yours.
Fully owned and controlled by your wallet.
Documentation
Source Code
startDistribution() :
This function is used to start the distribution of tokens from the contract. It first transfers ownership of the contract to the DAO, and then transitions the contract to the "LIVE" state. This allows the DAO to start the distribution of tokens. (autogenerated documentation)
investVenture(address,uint256) :
This function allows a user to invest in a venture by sending a specified amount of Ether to the venture's address. It first adds the venture's address to the list of ventures, then calls the VentureEth contract's invest function, passing in the investment amount. Finally, it emits an event to signal that the venture has been added. (autogenerated documentation)
retrieveVentureTokens(address) :
This function is used to retrieve tokens from a venture contract. It works by calling the claim() function of the VentureEth contract, which is associated with the venture address passed as an argument. This function will transfer the tokens associated with the venture address to the caller of the function. (autogenerated documentation)
cancelVenture(address) :
This function is used to cancel an investment in a venture. It takes in an address payable of the venture as an argument and calls the cancelInvestment() function of the VentureEth contract associated with the venture. It then removes the venture from the list of ventures. (autogenerated documentation)
claimDividendsFromVenture(address) :
This function allows a user to claim dividends from a venture contract. It works by calling the VentureEth contract associated with the venture and invoking the claimDividends() function, which returns the amount of dividends that the user is entitled to. (autogenerated documentation)
releaseDividends(uint256) :
This function allows the proposal to release dividends to shareholders. It takes in an amount as an argument and then calls the _releaseDividends() function, which is responsible for distributing the dividends to shareholders. (autogenerated documentation)
restartInvestorRound(uint256) :
This function is used to restart an investor round. It sets the issue price to the value passed in as an argument and then starts the issuance process. This allows investors to purchase tokens at the new issue price. (autogenerated documentation)
restartDistribution() :
This function is used to restart the distribution of tokens. It works by transitioning the contract from the proposal state to the live state, which allows the token distribution to begin. (autogenerated documentation)
cancelInvestmentRound() :
This function cancels an investment round by cancelling all investments associated with it. It can only be called by the proposal, and it works by looping through all investments associated with the round and cancelling them. (autogenerated documentation)

Get Cookin'
share iconShare

copy iconDownload Source
copy iconnpx cookbookdev i HQ20-DAO
copy icon

Last Publish

10/17/2022

Version

1.0.0

Creator

HQ20

Cookbook is free.
Any contract you deploy is yours.
Your contract is owned and controlled by you.