Skip to main content
This contract is meant to be deployed to the Ethereum chains where Kleros is deployed.

Variables

NUMBER_OF_CHOICES_FOR_ARBITRATOR

MULTIPLIER_DIVISOR

META_EVIDENCE_ID

Status

ArbitrationRequest

DisputeDetails

Round

arbitrator

arbitratorExtraData

amb

homeProxy

homeChainId

termsOfService

winnerMultiplier

loserMultiplier

loserAppealPeriodMultiplier

arbitrationRequests

disputeIDToDisputeDetails

arbitrationIDToDisputeExists

arbitrationIDToRequester

Modifiers

onlyHomeProxy

Functions

constructor

Creates an arbitration proxy on the foreign chain. Parameters

requestArbitration

Requests arbitration for the given question and contested answer. Parameters

receiveArbitrationAcknowledgement

Receives the acknowledgement of the arbitration request for the given question and requester. TRUSTED. Parameters

receiveArbitrationCancelation

Receives the cancelation of the arbitration request for the given question and requester. TRUSTED. Parameters

handleFailedDisputeCreation

Cancels the arbitration in case the dispute could not be created. Parameters

fundAppeal

Takes up to the total amount required to fund an answer. Reimburses the rest. Creates an appeal if at least two answers are funded. Parameters Return Values

withdrawFeesAndRewards

Sends the fee stake rewards and reimbursements proportional to the contributions made to the winner of a dispute. Reimburses contributions if there is no winner. Parameters Return Values

withdrawFeesAndRewardsForAllRounds

Allows to withdraw any rewards or reimbursable fees for all rounds at once. This function is O(n) where n is the total number of rounds. Arbitration cost of subsequent rounds is A(n) = 2A(n-1) + 1. So because of this exponential growth of costs, you can assume n is less than 10 at all times. Parameters

submitEvidence

Allows to submit evidence for a particular question. Parameters

rule

Rules a specified dispute. Can only be called by the arbitrator. Accounts for the situation where the winner loses a case due to paying less appeal fees than expected. Parameters

getMultipliers

Returns stake multipliers. Return Values

numberOfRulingOptions

Returns number of possible ruling options. Valid rulings are [0, return value]. Return Values

getDisputeFee

Gets the fee to create a dispute. Return Values

getNumberOfRounds

Gets the number of rounds of the specific question. Parameters Return Values

getRoundInfo

Gets the information of a round of a question. Parameters Return Values

getFundingStatus

Gets the information of a round of a question for a specific answer choice. Parameters Return Values

getContributionsToSuccessfulFundings

Gets contributions to the answers that are fully funded. Parameters Return Values

getTotalWithdrawableAmount

Returns the sum of withdrawable amount. This function is O(n) where n is the total number of rounds. This could exceed the gas limit, therefore this function should be used only as a utility and not be relied upon by other contracts. Parameters Return Values

questionIDToArbitrationID

Casts question ID into uint256 thus returning the related arbitration ID. Parameters Return Values

externalIDtoLocalID

Maps external (arbitrator side) dispute id to local (arbitrable) dispute id. Parameters Return Values