Briky Land
  • BRIKY LAND
  • Technologies
    • Overview
    • Token standards
    • NATIVE LAND
      • Real Estate Tokenization
      • Marketplace
      • Governor
    • BRIK
      • Supply distributions
      • Treasury and Liquidation
      • Auction
      • Staking BRIK, Receiving BRIKI
    • Contracts
      • Auction
      • Collection (NATIVE LAND)
      • GovernorHub
      • Marketplace
      • PrimaryToken (BRIK)
      • StakeToken (BRIKI)
      • Treasury
  • Future Works
    • Upcoming features and products
    • Roadmap
Powered by GitBook
On this page
  • Type
  • Event
  • Error
  • Function
  1. Technologies
  2. Contracts

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;
PreviousCollection (NATIVE LAND)NextMarketplace

Last updated 8 months ago