Key Methods
createDispute(uint256 _numberOfChoices, bytes _extraData) payable → uint256
Creates a new dispute. Caller must send sufficient ETH (or approved ERC-20) for arbitration cost. The extraData encodes the target courtID (as uint96) and minJurors (as uint256).
arbitrationCost(bytes _extraData) view → uint256
Returns current arbitration fee (in ETH) for the specified court/juror configuration.
appeal(uint256 _disputeID, uint256 _numberOfChoices, bytes _extraData) payable
Handles appeals including court jumps and dispute kit jumps.
execute(uint256 _disputeID, uint256 _round, uint256 _iterations)
Distributes PNK stakes and fees to jurors based on vote coherence.
executeRuling(uint256 _disputeID)
Finalizes dispute and calls rule() on the Arbitrable contract.
currentRuling(uint256 _disputeID) view → (uint256 ruling, bool tied, bool overridden)
Returns the current ruling and its status:
setStake(uint96 _courtID, uint256 _newStake)
Juror staking - requires prior PNK approval. In the Neo deployment, staking also requires the juror to hold the KlerosV2NeoEarlyUser NFT.
Initialization Parameters
The contract is initialized with the following key parameters (relevant for integrators and governance proposals):Governance Roles
- Governor Pause/unpause, change parameters, upgrade, change roles
- Guardian Can only pause (emergency response)
ERC-20 Fee Support
V2 supports paying arbitration fees in accepted ERC-20 tokens (e.g., WETH, DAI) in addition to ETH:Dispute Kits
The General Court supports all four dispute kits. The active kit is selected viaextraData at dispute creation. Current kits on Arbitrum One:
Events
View Source