Skip to content

Instantly share code, notes, and snippets.

@aleph-v
Created May 27, 2021 20:35
Show Gist options
  • Save aleph-v/62b93d721f4108ca736567c556738985 to your computer and use it in GitHub Desktop.
Save aleph-v/62b93d721f4108ca736567c556738985 to your computer and use it in GitHub Desktop.
Interfaces
pragma solidity ^0.8.0;
interface CoreVoting {
enum Ballot {
YES,
NO,
MAYBE
}
function propsal(
address[] memory votingVaults,
address[] memory targets,
bytes[] memory calldatas,
Ballot ballot
) external;
function vote(
address[] memory votingVaults,
bytes32 proposalHash,
Ballot ballot
) external;
function execute(
bytes32 proposalHash,
address[] memory targets,
bytes[] memory calldatas
) external;
function setCustomQuorum(
address target,
bytes4 selector,
uint256 fraction
) external;
function changeVaultStatus(
address vault,
bool isValid) external;
function setDefaultQuroum(uint256 qurourm) external;
}
interface VotingVault {
// Primary interaction point
function queryVotePower(
address user,
uint256 blockNumber
) external returns(uint256);
//
function delegate(
address to
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment