Skip to content

Commit 36c9b70

Browse files
chore: merge the merkle library
2 parents 737c5fe + 1a71d2e commit 36c9b70

File tree

8 files changed

+1096
-326
lines changed

8 files changed

+1096
-326
lines changed

contracts/src/arbitration/IDisputeKit.sol

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,67 +24,86 @@ interface IDisputeKit {
2424

2525
/** @dev Creates a local dispute and maps it to the dispute ID in the Core contract.
2626
* Note: Access restricted to Kleros Core only.
27-
* @param _disputeID The ID of the dispute in Kleros Core.
27+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
2828
* @param _numberOfChoices Number of choices of the dispute
2929
* @param _extraData Additional info about the dispute, for possible use in future dispute kits.
3030
*/
3131
function createDispute(
32-
uint256 _disputeID,
32+
uint256 _coreDisputeID,
3333
uint256 _numberOfChoices,
3434
bytes calldata _extraData
3535
) external;
3636

3737
/** @dev Draws the juror from the sortition tree. The drawn address is picked up by Kleros Core.
3838
* Note: Access restricted to Kleros Core only.
39-
* @param _disputeID The ID of the dispute in Kleros Core.
39+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
4040
* @return drawnAddress The drawn address.
4141
*/
42-
function draw(uint256 _disputeID) external returns (address drawnAddress);
42+
function draw(uint256 _coreDisputeID) external returns (address drawnAddress);
4343

4444
// ************************************* //
4545
// * Public Views * //
4646
// ************************************* //
4747

4848
/** @dev Gets the current ruling of a specified dispute.
49-
* @param _disputeID The ID of the dispute in Kleros Core.
49+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
5050
* @return ruling The current ruling.
5151
*/
52-
function currentRuling(uint256 _disputeID) external view returns (uint256 ruling);
52+
function currentRuling(uint256 _coreDisputeID) external view returns (uint256 ruling);
53+
54+
/** @dev Returns the voting data from the most relevant round.
55+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
56+
* @return winningChoiece The winning choice of this round.
57+
* @return tied Whether it's a tie or not.
58+
*/
59+
function getLastRoundResult(uint256 _coreDisputeID) external view returns (uint256 winningChoiece, bool tied);
5360

5461
/** @dev Gets the degree of coherence of a particular voter. This function is called by Kleros Core in order to determine the amount of the reward.
55-
* @param _disputeID The ID of the dispute in Kleros Core.
56-
* @param _round The ID of the round.
62+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
63+
* @param _coreRoundID The ID of the round in Kleros Core, not in the Dispute Kit.
5764
* @param _voteID The ID of the vote.
5865
* @return The degree of coherence in basis points.
5966
*/
6067
function getDegreeOfCoherence(
61-
uint256 _disputeID,
62-
uint256 _round,
68+
uint256 _coreDisputeID,
69+
uint256 _coreRoundID,
6370
uint256 _voteID
6471
) external view returns (uint256);
6572

6673
/** @dev Gets the number of jurors who are eligible to a reward in this round.
67-
* @param _disputeID The ID of the dispute in Kleros Core.
68-
* @param _round The ID of the round.
74+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
75+
* @param _coreRoundID The ID of the round in Kleros Core, not in the Dispute Kit.
6976
* @return The number of coherent jurors.
7077
*/
71-
function getCoherentCount(uint256 _disputeID, uint256 _round) external view returns (uint256);
78+
function getCoherentCount(uint256 _coreDisputeID, uint256 _coreRoundID) external view returns (uint256);
79+
80+
/** @dev Returns true if all of the jurors have cast their commits for the last round.
81+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
82+
* @return Whether all of the jurors have cast their commits for the last round.
83+
*/
84+
function areCommitsAllCast(uint256 _coreDisputeID) external view returns (bool);
85+
86+
/** @dev Returns true if all of the jurors have cast their votes for the last round.
87+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
88+
* @return Whether all of the jurors have cast their votes for the last round.
89+
*/
90+
function areVotesAllCast(uint256 _coreDisputeID) external view returns (bool);
7291

7392
/** @dev Returns true if the specified voter was active in this round.
74-
* @param _disputeID The ID of the dispute in Kleros Core.
75-
* @param _round The ID of the round.
93+
* @param _coreDisputeID The ID of the dispute in Kleros Core, not in the Dispute Kit.
94+
* @param _coreRoundID The ID of the round in Kleros Core, not in the Dispute Kit.
7695
* @param _voteID The ID of the voter.
7796
* @return Whether the voter was active or not.
7897
*/
7998
function isVoteActive(
80-
uint256 _disputeID,
81-
uint256 _round,
99+
uint256 _coreDisputeID,
100+
uint256 _coreRoundID,
82101
uint256 _voteID
83102
) external view returns (bool);
84103

85104
function getRoundInfo(
86-
uint256 _disputeID,
87-
uint256 _round,
105+
uint256 _coreDisputeID,
106+
uint256 _coreRoundID,
88107
uint256 _choice
89108
)
90109
external
@@ -99,8 +118,8 @@ interface IDisputeKit {
99118
);
100119

101120
function getVoteInfo(
102-
uint256 _disputeID,
103-
uint256 _round,
121+
uint256 _coreDisputeID,
122+
uint256 _coreRoundID,
104123
uint256 _voteID
105124
)
106125
external

0 commit comments

Comments
 (0)