GovernorHub
Type
enum Vote {
Nil,
Approval,
Disapproval,
Blank
}
enum ProposalLabel {
Nil,
StartLetting,
CancelLetting,
ChangeUsage,
ExtendExpiration,
Extract
}
enum ProposalState {
Nil,
Pending,
Disqualified,
Voting,
Failed,
Passed,
Accomplished,
Disabled
}
struct Proposal {
uint256 tokenId;
uint256 budget;
uint256 fund;
uint256 totalApproval;
uint256 totalDisapproval;
uint256 extraData;
address currency;
ProposalLabel label;
ProposalState state;
uint40 startAt;
uint40 endAt;
address proposer;
}
struct Payment {
uint256 tokenId;
uint256 value;
address currency;
uint40 payAt;
}
Event
event ManagerAuthorization(address indexed account);
event ManagerDeauthorization(address indexed account);
event StartLettingProposalFeeUpdate(uint256 newValue);
event CancelLettingProposalFeeUpdate(uint256 newValue);
event ExtractProposalFeeUpdate(uint256 newValue);
event ChangeUsageProposalFeeUpdate(uint256 newValue);
event ExtendExpirationProposalFeeUpdate(uint256 newValue);
event NewCancelLettingProposal(
uint256 indexed proposalId,
uint256 indexed tokenId,
address indexed proposer,
uint40 duration,
bool usePrimaryToken
);
event NewChangeUsageProposal(
uint256 indexed proposalId,
uint256 indexed tokenId,
address indexed proposer,
uint40 duration,
uint256 newUsageId,
bool usePrimaryToken
);
event NewExtendExpirationProposal(
uint256 indexed proposalId,
uint256 indexed tokenId,
address indexed proposer,
uint40 duration,
uint256 extendYears,
bool usePrimaryToken
);
event NewExtractProposal(
uint256 indexed proposalId,
uint256 indexed tokenId,
address indexed proposer,
uint40 duration,
uint256 paymentId,
uint256 unitPrice,
address currency,
bool usePrimaryToken
);
event NewStartLettingProposal(
uint256 indexed proposalId,
uint256 indexed tokenId,
address indexed proposer,
uint40 duration,
bool usePrimaryToken
);
event NewBudgetContribution(
uint256 indexed proposalId,
address indexed contributor,
uint256 value
);
event NewVote(
uint256 indexed proposalId,
address indexed voter,
Vote indexed vote,
uint256 votePower
);
event NewPayment(
uint256 indexed paymentId,
uint256 indexed tokenId,
uint256 value,
address currency,
uint40 payAt
);
event ProposalAccomplishment(
uint256 indexed proposalId,
address operator,
uint256 fund
);
event ProposalConclusion(uint256 indexed proposalId, ProposalState state);
event ProposalDisablement(uint256 indexed proposalId);
event ProposalDisqualification(uint256 indexed proposalId);
event ProposalVerification(
uint256 indexed proposalId,
uint256 budget,
address currency
);
event BudgetContributionWithdrawal(
uint256 indexed paymentId,
address indexed withdrawer,
uint256 value,
address currency
);
event PaymentWithdrawal(
uint256 indexed paymentId,
address indexed withdrawer,
uint256 value,
address currency
);
Error
error AlreadyForRent();
error AlreadyVoted();
error AlreadyWithdrawn(uint256 paymentId);
error Authorized();
error FailedRefund();
error FailedTransfer();
error InsufficientFunds();
error InvalidApprovingProposal();
error InvalidConfirmingProposal();
error InvalidContributingToBudget();
error InvalidDisablingProposal();
error InvalidDisqualifyingProposal();
error InvalidInput();
error InvalidPaymentId();
error InvalidProposalId();
error InvalidTokenId();
error InvalidVoting();
error InvalidWithdrawingBudgetContribution();
error NoVotingPower();
error NotAuthorized();
error NotForRent();
error NotPaidYet(uint256 paymentId);
error Unauthorized();
Function
function version() external pure returns (string memory version);
function admin() external view returns (address admin);
function collection() external view returns (address collection);
function primaryToken() external view returns (address primaryToken);
function stakeToken() external view returns (address stakeToken);
function feeReceiver() external view returns (address feeReceiver);
function paymentNumber() external view returns (uint256 paymentNumber);
function proposalNumber() external view returns (uint256 proposalNumber);
function cancelLettingProposalFee() external view returns (uint256 cancelLettingProposalFee);
function changeUsageProposalFee() external view returns (uint256 changeUsageProposalFee);
function extendExpirationProposalFee() external view returns (uint256 extendExpirationProposalFee);
function extractProposalFee() external view returns (uint256 extractProposalFee);
function startLettingProposalFee() external view returns (uint256 startLettingProposalFee);
function contributions(uint256 requestId, address account) external view returns (uint256 deposit);
function hasWithdrawn(uint256 paymentId, address account) external view returns (bool hasWithdrawn);
function isManager(address account) external view returns (bool isManager);
function isForRent(uint256 tokenId) external view returns (bool isForRent);
function votes(uint256 proposalId, address account) external view returns (Vote vote);
function getPayment(uint256 paymentId) external view returns (Payment memory payment);
function getProposal(uint256 proposalId) external view returns (Proposal memory proposal);
function getProposalState(uint256 proposalId) external view returns (ProposalState state);
function proposeCancellingLetting(
uint256 tokenId,
uint40 duration,
bool usePrimaryToken
) external payable returns (uint256 proposalId);
function proposeChangingUsage(
uint256 tokenId,
uint40 duration,
uint256 newUsageId,
bool usePrimaryToken
) external payable returns (uint256 proposalId);
function proposeExtendingExpiration(
uint256 tokenId,
uint40 duration,
uint256 extendYears,
bool usePrimaryToken
) external payable returns (uint256 proposalId);
function proposeExtracting(
uint256 tokenId,
uint40 duration,
uint256 value,
address currency,
bool usePrimaryToken
) external payable returns (uint256 proposalId, uint256 paymentId);
function proposeStartingLetting(
uint256 tokenId,
uint40 duration,
bool usePrimaryToken
) external payable returns (uint256 proposalId);
function accomplishProposal(uint256 proposalId, address operator) external payable;
function concludeProposal(uint256 proposalId) external;
function disqualifyProposal(uint256 proposalId) external;
function verifyProposal(
uint256 proposalId,
uint256 budget,
address currency
) external;
function contributeToBudget(uint256 proposalId, uint256 value) external payable;
function payForRent(
uint256 tokenId,
uint256 value,
address currency
) external payable returns (uint256 paymentId);
function vote(uint256 proposalId, Vote vote) external;
function withdrawBudgetContribution(uint256 requestId) external;
function withdrawPayments(uint256[] calldata paymentIds) external;
Last updated