IKlerosLiquid

Git Source

Inherits: IArbitratorV1

Functions

courts

function courts(uint256 _index)
    external
    view
    returns (
        uint96 parent,
        bool hiddenVotes,
        uint256 minStake,
        uint256 alpha,
        uint256 feeForJuror,
        uint256 jurorsForCourtJump
    );

phase

function phase() external view returns (Phase);

lockInsolventTransfers

function lockInsolventTransfers() external view returns (bool);

minStakingTime

function minStakingTime() external view returns (uint256);

pinakion

function pinakion() external view returns (address);

disputes

function disputes(uint256 _index) external view returns (Dispute memory);

jurors

function jurors(address _account) external view returns (Juror memory);

changeSubcourtTimesPerPeriod

function changeSubcourtTimesPerPeriod(uint96 _subcourtID, uint256[4] calldata _timesPerPeriod) external;

executeGovernorProposal

function executeGovernorProposal(address _destination, uint256 _amount, bytes calldata _data) external;

getVote

function getVote(uint256 _disputeID, uint256 _appeal, uint256 _voteID)
    external
    view
    returns (address account, bytes32 commit, uint256 choice, bool voted);

getDispute

function getDispute(uint256 _disputeID)
    external
    view
    returns (
        uint256[] memory votesLengths,
        uint256[] memory tokensAtStakePerJuror,
        uint256[] memory totalFeesForJurors,
        uint256[] memory votesInEachRound,
        uint256[] memory repartitionsInEachRound,
        uint256[] memory penaltiesInEachRound
    );

getSubcourt

function getSubcourt(uint96 _subcourtID)
    external
    view
    returns (uint256[] memory children, uint256[4] memory timesPerPeriod);

Structs

Court

struct Court {
    uint96 parent;
    uint256[] children;
    bool hiddenVotes;
    uint256 minStake;
    uint256 alpha;
    uint256 feeForJuror;
    uint256 jurorsForCourtJump;
    uint256[4] timesPerPeriod;
}

Dispute

struct Dispute {
    uint96 subcourtID;
    address arbitrated;
    uint256 numberOfChoices;
    Period period;
    uint256 lastPeriodChange;
    uint256 drawsInRound;
    uint256 commitsInRound;
    bool ruled;
}

Juror

struct Juror {
    uint256 stakedTokens;
    uint256 lockedTokens;
}

Enums

Period

enum Period {
    evidence,
    commit,
    vote,
    appeal,
    execution
}

Phase

enum Phase {
    staking,
    generating,
    drawing
}