Request form
Cookbook may introduce a token in the future. Share and contribute to be eligible for future airdrops.
close icon
relevant tag icon
Adjustable DAO
copy icon
Cookbook
• version 0.0.2r
DAO
Governance
Timelock
Adjustable
Deployable

Adjustable DAO

A more advanced implementation of a DAO -Settings are adjustable by approved proposals -Approved transactions are routed through a timelock so there can be a delay before execution.

*Visit desktop site to download or deploy

Version

0.0.2r

Creator

Cookbook

Recent Use

🍞 0xCF2E downloaded
🥐 0xf39F downloaded
🥖 0xf39F downloaded
🥨 0x4c53 downloaded
🥯 0x291a downloaded

Last Publish

9/6/2022
Any contract you deploy is yours.
Fully owned and controlled by your wallet.
Documentation
Source Code
COUNTING_MODE() :
See {IGovernor-COUNTING_MODE}.
castVote(uint256,uint8) :
See {IGovernor-castVote}.
castVoteBySig(uint256,uint8,uint8,bytes32,bytes32) :
See {IGovernor-castVoteBySig}.
castVoteWithReason(uint256,uint8,string) :
See {IGovernor-castVoteWithReason}.
castVoteWithReasonAndParams(uint256,uint8,string,bytes) :
See {IGovernor-castVoteWithReasonAndParams}.
castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32) :
See {IGovernor-castVoteWithReasonAndParamsBySig}.
execute(address[],uint256[],bytes[],bytes32) :
See {IGovernor-execute}.
getVotes(address,uint256) :
See {IGovernor-getVotes}.
getVotesWithParams(address,uint256,bytes) :
See {IGovernor-getVotesWithParams}.
hasVoted(uint256,address) :
See {IGovernor-hasVoted}.
hashProposal(address[],uint256[],bytes[],bytes32) :
See {IGovernor-hashProposal}. The proposal id is produced by hashing the RLC encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.
name() :
See {IGovernor-name}.
onERC1155BatchReceived(address,address,uint256[],uint256[],bytes) :
See {IERC1155Receiver-onERC1155BatchReceived}.
onERC1155Received(address,address,uint256,uint256,bytes) :
See {IERC1155Receiver-onERC1155Received}.
onERC721Received(address,address,uint256,bytes) :
See {IERC721Receiver-onERC721Received}.
proposalDeadline(uint256) :
See {IGovernor-proposalDeadline}.
proposalEta(uint256) :
Public accessor to check the eta of a queued proposal
proposalSnapshot(uint256) :
See {IGovernor-proposalSnapshot}.
proposalVotes(uint256) :
Accessor to the internal vote counts.
queue(address[],uint256[],bytes[],bytes32) :
Function to queue a proposal to the timelock.
quorumDenominator() :
Returns the quorum denominator. Defaults to 100, but may be overridden.
quorumNumerator() :
Returns the current quorum numerator. See {quorumDenominator}.
relay(address,uint256,bytes) :
Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.
setProposalThreshold(uint256) :
Update the proposal threshold. This operation can only be performed through a governance proposal. Emits a {ProposalThresholdSet} event.
setVotingDelay(uint256) :
Update the voting delay. This operation can only be performed through a governance proposal. Emits a {VotingDelaySet} event.
setVotingPeriod(uint256) :
Update the voting period. This operation can only be performed through a governance proposal. Emits a {VotingPeriodSet} event.
timelock() :
Public accessor to check the address of the timelock
updateQuorumNumerator(uint256) :
Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator.
updateTimelock(address) :
Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.
version() :
See {IGovernor-version}.

Get Cookin'
share iconShare

copy iconNo-Code Deploy
copy iconDownload Source
copy iconnpx cookbookdev i adjustable-dao
copy icon

Bytecode

Download

Verification

Download

Recent Use

🍞 0xCF2E downloaded
🥐 0xf39F downloaded
🥖 0xf39F downloaded
🥨 0x4c53 downloaded
🥯 0x291a downloaded

Last Publish

9/6/2022

Solidity Compiler

0.8.12+commit.f00d7308

Version

0.0.2r

Creator

Cookbook

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