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

Aave DAO Executor

Executor is designed to validate Proposal creations and cancellations, validate Vote Quorum and the success of a Proposal, and to queue, execute, and cancel successful Proposals. It also includes a Timelock and ProposalValidator to ensure that Proposals are created and voted on according to specific criteria. (autogenerated description)

*Visit desktop site to download or deploy

Version

1.0.0

Creator

Aave

Last Publish

3/3/2023
Any contract you deploy is yours.
Fully owned and controlled by your wallet.
Documentation
Source Code
acceptAdmin() :
Function enabling pending admin to become admin*
cancelTransaction(address,uint256,string,bytes,uint256,bool) :
Function, called by Governance, that cancels a transaction, returns action hash - data: function arguments of the transaction or callData if signature empty - executionTime: time at which to execute the transaction - signature: function signature of the transaction - target: smart contract target - value: wei value of the transaction - withDelegatecall: boolean, true = transaction delegatecalls the target, else calls the target
executeTransaction(address,uint256,string,bytes,uint256,bool) :
Function, called by Governance, that cancels a transaction, returns the callData executed - data: function arguments of the transaction or callData if signature empty - executionTime: time at which to execute the transaction - signature: function signature of the transaction - target: smart contract target - value: wei value of the transaction - withDelegatecall: boolean, true = transaction delegatecalls the target, else calls the target
getAdmin() :
Getter of the current admin address (should be governance)
getDelay() :
Getter of the delay between queuing and execution
getMinimumPropositionPowerNeeded(address,uint256) :
Returns the minimum Proposition Power needed to create a proposition. - blockNumber: Blocknumber at which to evaluate - governance: Governance Contract
getMinimumVotingPowerNeeded(uint256) :
Calculates the minimum amount of Voting Power needed for a proposal to Pass - votingSupply: Total number of oustanding voting tokens
getPendingAdmin() :
Getter of the current pending admin address
isActionQueued(bytes32) :
Returns whether an action (via actionHash) is queued - actionHash: hash of the action to be checked keccak256(abi.encode(target, value, signature, data, executionTime, withDelegatecall))
isProposalOverGracePeriod(address,uint256) :
Checks whether a proposal is over its grace period - governance: Governance contract - proposalId: Id of the proposal against which to test
isProposalPassed(address,uint256) :
Returns whether a proposal passed or not - governance: Governance Contract - proposalId: Id of the proposal to set
isPropositionPowerEnough(address,address,uint256) :
Returns whether a user has enough Proposition Power to make a proposal. - blockNumber: Block Number against which to make the challenge. - governance: Governance Contract - user: Address of the user to be challenged.
isQuorumValid(address,uint256) :
Check whether a proposal has reached quorum, ie has enough FOR-voting-power Here quorum is not to understand as number of votes reached, but number of for-votes reached - governance: Governance Contract - proposalId: Id of the proposal to verify
isVoteDifferentialValid(address,uint256) :
Check whether a proposal has enough extra FOR-votes than AGAINST-votes FOR VOTES - AGAINST VOTES > VOTE_DIFFERENTIAL * voting supply - governance: Governance Contract - proposalId: Id of the proposal to verify
queueTransaction(address,uint256,string,bytes,uint256,bool) :
Function, called by Governance, that queue a transaction, returns action hash - data: function arguments of the transaction or callData if signature empty - executionTime: time at which to execute the transaction - signature: function signature of the transaction - target: smart contract target - value: wei value of the transaction - withDelegatecall: boolean, true = transaction delegatecalls the target, else calls the target
setDelay(uint256) :
Set the delay - delay: delay between queue and execution of proposal*
setPendingAdmin(address) :
Setting a new pending admin (that can then become admin) Can only be called by this executor (i.e via proposal) - newPendingAdmin: address of the new admin*
validateCreatorOfProposal(address,address,uint256) :
Called to validate a proposal (e.g when creating new proposal in Governance) - blockNumber: Block Number against which to make the test (e.g proposal creation block -1). - governance: Governance Contract - user: Address of the proposal creator
validateProposalCancellation(address,address,uint256) :
Called to validate the cancellation of a proposal Needs to creator to have lost proposition power threashold - blockNumber: Block Number against which to make the test (e.g proposal creation block -1). - governance: Governance Contract - user: Address of the proposal creator
add(uint256,uint256) :
This function adds two uint256 numbers and checks for overflow, returning the result. (autogenerated documentation)
sub(uint256,uint256) :
This function subtracts two uint256 values and throws an error if the result is negative. (autogenerated documentation)
sub(uint256,uint256,string) :
This function subtracts b from a and returns the result. It also checks if b is less than or equal to a, throwing an error message if not. (autogenerated documentation)
mul(uint256,uint256) :
This function multiplies two unsigned integers and checks for overflow, returning the result. (autogenerated documentation)
div(uint256,uint256) :
This function performs safe division of two uint256 numbers and throws an error message if division by zero occurs. (autogenerated documentation)
div(uint256,uint256,string) :
This function divides two uint256 numbers and returns the result. It throws an error message if the second number is zero. (autogenerated documentation)
mod(uint256,uint256) :
This function calculates the modulo of two uint256 values and throws an error if the second value is zero. (autogenerated documentation)
mod(uint256,uint256,string) :
This function calculates the remainder of a division between two uint256 numbers and throws an error message if the divisor is zero. (autogenerated documentation)
getPropositionPowerAt(address,uint256) :
This interface defines functions for getting the proposition and voting power of users at a specific block number in Aave Governance V2. (autogenerated documentation)
getTotalPropositionSupplyAt(uint256) :
This function retrieves the total proposition supply, total voting supply, and voting power of a user at a specific block number in Aave Governance V2. (autogenerated documentation)
getTotalVotingSupplyAt(uint256) :
This function returns the total voting supply and the voting power of a user at a specific block number in the Aave Governance V2 protocol. (autogenerated documentation)
getVotingPowerAt(address,uint256) :
This function returns the voting power of a user at a specific block number in the Aave Governance V2 system. (autogenerated documentation)
create(uint256[],bytes32) :
This interface defines functions for a contract that can execute proposals with a timelock mechanism. (autogenerated documentation)
cancel(uint256) :
This interface defines functions for executing transactions with a timelock mechanism. (autogenerated documentation)
queue(uint256) :
This interface defines functions for executing proposals with a timelock mechanism. (autogenerated documentation)
execute(uint256) :
This interface defines functions for executing proposals with a time delay. (autogenerated documentation)
submitVote(uint256,bool) :
This interface defines functions for executing transactions with a time delay. (autogenerated documentation)
submitVoteBySignature(uint256,bool,uint8,bytes32,bytes32) :
This interface defines functions for executing actions with a time delay. (autogenerated documentation)
setGovernanceStrategy(address) :
This interface defines functions for a contract that executes transactions with a time delay. (autogenerated documentation)
setVotingDelay(uint256) :
This interface defines functions for a contract that allows for delayed execution of transactions by authorized executors. (autogenerated documentation)
authorizeExecutors() :
This interface defines functions for a contract that allows for executing transactions with a time delay. (autogenerated documentation)
unauthorizeExecutors() :
This interface defines functions for a contract that allows for time-locked execution of transactions by authorized executors. (autogenerated documentation)
__abdicate() :
This interface defines functions for an executor contract with timelock, which requires a delay before executing certain actions. (autogenerated documentation)
getGovernanceStrategy() :
This interface defines functions for a contract that acts as an executor with a timelock, allowing for delayed execution of transactions. (autogenerated documentation)
getVotingDelay() :
This interface defines functions for a contract that allows for time-delayed execution of transactions. (autogenerated documentation)
isExecutorAuthorized(address) :
This interface defines functions for an executor contract with timelock, allowing for delayed execution of proposals. (autogenerated documentation)
getGuardian() :
This interface defines a function to execute proposals with a timelock mechanism, ensuring a delay before the execution can occur. (autogenerated documentation)
getProposalsCount() :
This interface defines functions for getting information about proposals and votes, as well as an executor with timelock. (autogenerated documentation)
getProposalById(uint256) :
This interface defines functions to get proposal details and state, and to execute proposals with a timelock mechanism. (autogenerated documentation)
getVoteOnProposal(uint256,address) :
This interface defines two functions for getting the vote on a proposal and the state of a proposal, and another interface for an executor with timelock. (autogenerated documentation)
getProposalState(uint256) :
This function returns the current state of a proposal identified by its ID in the Executor contract with timelock. (autogenerated documentation)
getAdmin() :
This contract defines functions for executing transactions with a time delay, allowing for governance control over critical actions. (autogenerated documentation)
getPendingAdmin() :
This contract defines functions for executing transactions with a time delay and cancellation option. (autogenerated documentation)
getDelay() :
This contract defines functions for executing transactions with a time delay and cancelling queued transactions. (autogenerated documentation)
isActionQueued(bytes32) :
This contract defines functions for executing transactions with a time delay and cancelling queued transactions. (autogenerated documentation)
isProposalOverGracePeriod(uint256) :
This contract defines functions for executing transactions with a time delay and checking if a proposal is over the grace period. (autogenerated documentation)
GRACE_PERIOD() :
This contract implements a timelock mechanism for executing transactions, allowing for delayed execution and cancellation. (autogenerated documentation)
MINIMUM_DELAY() :
This contract defines a timelock mechanism for executing transactions on behalf of a user, with a minimum and maximum delay period. (autogenerated documentation)
MAXIMUM_DELAY() :
This contract allows for queuing and executing transactions with a time delay, up to a maximum delay set by the contract. (autogenerated documentation)
queueTransaction(address,uint256,string,uint256,bool) :
This contract allows for queuing and executing transactions with a time delay and optional delegatecall functionality. (autogenerated documentation)
executeTransaction(address,uint256,string,uint256,bool) :
This contract allows for executing or cancelling a transaction with a time delay and optional delegate call. (autogenerated documentation)
cancelTransaction(address,uint256,string,uint256,bool) :
This function cancels a transaction by providing the target address, value, signature, data, execution time, and delegate call option. (autogenerated documentation)
setDelay(uint256) :
This function sets a delay for a timelock contract and emits an event. Only the timelock contract can call it. (autogenerated documentation)
acceptAdmin() :
This function accepts a pending admin and sets them as the new admin, emitting a NewAdmin event. Only the current pending admin can call it. (autogenerated documentation)
setPendingAdmin(address) :
This function sets a new pending admin address, which can only be called by a timelock contract. (autogenerated documentation)
_validateDelay(uint256) :
This function validates that a given delay is within a certain range, throwing an error if it is too short or too long. (autogenerated documentation)
validateCreatorOfProposal(address,uint256) :
This contract defines functions to validate various aspects of a proposal in the Aave Governance system. (autogenerated documentation)
validateProposalCancellation(address,uint256) :
This contract defines functions to validate Aave governance proposals based on various criteria such as quorum, voting power, and vote differential. (autogenerated documentation)
isPropositionPowerEnough(address,uint256) :
This contract defines functions to validate Aave governance proposals based on quorum, voting power, and vote differential. (autogenerated documentation)
getMinimumPropositionPowerNeeded(uint256) :
This contract defines functions to validate Aave governance proposals based on quorum, voting power, and vote differential. (autogenerated documentation)
isProposalPassed(uint256) :
This contract defines functions to validate Aave governance proposals based on quorum, vote differential, and voting power. (autogenerated documentation)
isQuorumValid(uint256) :
This contract defines functions to validate Aave governance proposals based on quorum, vote differential, and minimum voting power. (autogenerated documentation)
isVoteDifferentialValid(uint256) :
This contract defines functions to validate Aave governance proposals, including vote differential, quorum, and voting power requirements. (autogenerated documentation)
getMinimumVotingPowerNeeded(uint256) :
This contract defines functions to validate proposals based on voting parameters such as quorum, voting power, and vote differential. (autogenerated documentation)
PROPOSITION_THRESHOLD() :
This contract defines functions that return various parameters used to validate proposals in a governance system. (autogenerated documentation)
VOTING_DURATION() :
This contract implements the interface IProposalValidator and provides functions to retrieve various voting parameters. (autogenerated documentation)
VOTE_DIFFERENTIAL() :
This contract implements the interface IProposalValidator and provides functions to retrieve constants for vote differential, minimum quorum, and precision. (autogenerated documentation)
MINIMUM_QUORUM() :
This contract defines two external view functions that return uint256 values for minimum quorum and 100 with precision. (autogenerated documentation)
ONE_HUNDRED_WITH_PRECISION() :
This contract defines an interface for a function that returns a constant value of 100 with precision. (autogenerated documentation)

Get Cookin'
share iconShare

copy iconNo-Code Deploy
copy iconDownload Source
copy iconnpx cookbookdev i Executor
copy icon

Bytecode

Download

Verification

Download

Last Publish

3/3/2023

Solidity Compiler

v0.7.5+commit.eb77ed08

Version

1.0.0

Creator

Aave

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