From 15673e12074382ae6595a080665eeb65145219fa Mon Sep 17 00:00:00 2001 From: unknownunknown1 Date: Mon, 23 Jan 2023 00:48:36 +0400 Subject: [PATCH] fix(IMetaevidence): remove evidence --- .../dispute-kits/DisputeKitClassic.sol | 2 +- .../dispute-kits/DisputeKitSybilResistant.sol | 2 +- contracts/src/evidence/EvidenceModule.sol | 10 ++++-- contracts/src/evidence/IEvidence.sol | 9 +---- contracts/src/evidence/IMetaEvidence.sol | 7 ++-- .../src/evidence/ModeratedEvidenceModule.sol | 36 +++++++++++-------- 6 files changed, 36 insertions(+), 30 deletions(-) diff --git a/contracts/src/arbitration/dispute-kits/DisputeKitClassic.sol b/contracts/src/arbitration/dispute-kits/DisputeKitClassic.sol index 5cd3b055a..e7c54a3bf 100644 --- a/contracts/src/arbitration/dispute-kits/DisputeKitClassic.sol +++ b/contracts/src/arbitration/dispute-kits/DisputeKitClassic.sol @@ -482,7 +482,7 @@ contract DisputeKitClassic is BaseDisputeKit, IEvidence { * @param _evidence IPFS path to evidence, example: '/ipfs/Qmarwkf7C9RuzDEJNnarT3WZ7kem5bk8DZAzx78acJjMFH/evidence.json'. */ function submitEvidence(uint256 _evidenceGroupID, string calldata _evidence) external { - emit Evidence(core, _evidenceGroupID, msg.sender, _evidence); + emit Evidence(_evidenceGroupID, msg.sender, _evidence); } // ************************************* // diff --git a/contracts/src/arbitration/dispute-kits/DisputeKitSybilResistant.sol b/contracts/src/arbitration/dispute-kits/DisputeKitSybilResistant.sol index 0e1d37524..e2e447b92 100644 --- a/contracts/src/arbitration/dispute-kits/DisputeKitSybilResistant.sol +++ b/contracts/src/arbitration/dispute-kits/DisputeKitSybilResistant.sol @@ -508,7 +508,7 @@ contract DisputeKitSybilResistant is BaseDisputeKit, IEvidence { * @param _evidence IPFS path to evidence, example: '/ipfs/Qmarwkf7C9RuzDEJNnarT3WZ7kem5bk8DZAzx78acJjMFH/evidence.json'. */ function submitEvidence(uint256 _evidenceGroupID, string calldata _evidence) external { - emit Evidence(core, _evidenceGroupID, msg.sender, _evidence); + emit Evidence(_evidenceGroupID, msg.sender, _evidence); } // ************************************* // diff --git a/contracts/src/evidence/EvidenceModule.sol b/contracts/src/evidence/EvidenceModule.sol index 358405065..9858ac37f 100644 --- a/contracts/src/evidence/EvidenceModule.sol +++ b/contracts/src/evidence/EvidenceModule.sol @@ -16,12 +16,18 @@ pragma solidity ^0.8; // TODO: standard interfaces should be placed in a separated repo (?) -import "./IEvidence.sol"; import "../arbitration/IArbitrator.sol"; -contract EvidenceModule is IEvidence { +contract EvidenceModule { IArbitrator public arbitrator; + event Evidence( + IArbitrator indexed _arbitrator, + uint256 indexed _evidenceGroupID, + address indexed _party, + string _evidence + ); + constructor(IArbitrator _arbitrator) { arbitrator = _arbitrator; } diff --git a/contracts/src/evidence/IEvidence.sol b/contracts/src/evidence/IEvidence.sol index 7079556b6..f02494a49 100644 --- a/contracts/src/evidence/IEvidence.sol +++ b/contracts/src/evidence/IEvidence.sol @@ -5,20 +5,13 @@ pragma solidity ^0.8.0; import "../arbitration/IArbitrator.sol"; /** @title IEvidence - * ERC-1497: Evidence Standard */ interface IEvidence { /** * @dev To be raised when evidence is submitted. Should point to the resource (evidences are not to be stored on chain due to gas considerations). - * @param _arbitrator The arbitrator of the contract. * @param _evidenceGroupID Unique identifier of the evidence group the evidence belongs to. * @param _party The address of the party submiting the evidence. Note that 0x0 refers to evidence not submitted by any party. * @param _evidence IPFS path to evidence, example: '/ipfs/Qmarwkf7C9RuzDEJNnarT3WZ7kem5bk8DZAzx78acJjMFH/evidence.json' */ - event Evidence( - IArbitrator indexed _arbitrator, - uint256 indexed _evidenceGroupID, - address indexed _party, - string _evidence - ); + event Evidence(uint256 indexed _evidenceGroupID, address indexed _party, string _evidence); } diff --git a/contracts/src/evidence/IMetaEvidence.sol b/contracts/src/evidence/IMetaEvidence.sol index 44a707d06..7641bb2fc 100644 --- a/contracts/src/evidence/IMetaEvidence.sol +++ b/contracts/src/evidence/IMetaEvidence.sol @@ -3,12 +3,11 @@ pragma solidity ^0.8.0; import "../arbitration/IArbitrator.sol"; -import "./IEvidence.sol"; -/** @title IEvidence - * ERC-1497: Evidence Standard +/** @title IMetaEvidence + * ERC-1497: Evidence Standard excluding evidence emission as it will be handled by the arbitrator. */ -interface IMetaEvidence is IEvidence { +interface IMetaEvidence { /** * @dev To be emitted when meta-evidence is submitted. * @param _metaEvidenceID Unique identifier of meta-evidence. diff --git a/contracts/src/evidence/ModeratedEvidenceModule.sol b/contracts/src/evidence/ModeratedEvidenceModule.sol index 0340b9c23..5e389991e 100644 --- a/contracts/src/evidence/ModeratedEvidenceModule.sol +++ b/contracts/src/evidence/ModeratedEvidenceModule.sol @@ -81,6 +81,20 @@ contract ModeratedEvidenceModule is IArbitrable, IMetaEvidence { /* Events */ + /** + * @dev To be raised when evidence is submitted. Should point to the resource (evidences are not to be stored on chain due to gas considerations). + * @param _arbitrator The arbitrator of the contract. + * @param _evidenceGroupID Unique identifier of the evidence group the evidence belongs to. + * @param _party The address of the party submiting the evidence. Note that 0x0 refers to evidence not submitted by any party. + * @param _evidence IPFS path to evidence, example: '/ipfs/Qmarwkf7C9RuzDEJNnarT3WZ7kem5bk8DZAzx78acJjMFH/evidence.json' + */ + event Evidence( + IArbitrator indexed _arbitrator, + uint256 indexed _evidenceGroupID, + address indexed _party, + string _evidence + ); + /** @dev Indicate that a party has to pay a fee or would otherwise be considered as losing. * @param _evidenceID The ID of the evidence being moderated. * @param _currentWinner The party who is currently winning. @@ -314,11 +328,10 @@ contract ModeratedEvidenceModule is IArbitrable, IMetaEvidence { * @return taken The amount of ETH taken. * @return remainder The amount of ETH left from the contribution. */ - function calculateContribution(uint256 _available, uint256 _requiredAmount) - internal - pure - returns (uint256 taken, uint256 remainder) - { + function calculateContribution( + uint256 _available, + uint256 _requiredAmount + ) internal pure returns (uint256 taken, uint256 remainder) { if (_requiredAmount > _available) return (_available, 0); // Take whatever is available, return 0 as leftover ETH. remainder = _available - _requiredAmount; @@ -420,15 +433,10 @@ contract ModeratedEvidenceModule is IArbitrable, IMetaEvidence { * @param _moderationID The ID of the moderation occurence. * @return paidFees currentWinner feeRewards The moderation information. */ - function getModerationInfo(bytes32 _evidenceID, uint256 _moderationID) - external - view - returns ( - uint256[3] memory paidFees, - Party currentWinner, - uint256 feeRewards - ) - { + function getModerationInfo( + bytes32 _evidenceID, + uint256 _moderationID + ) external view returns (uint256[3] memory paidFees, Party currentWinner, uint256 feeRewards) { EvidenceData storage evidenceData = evidences[_evidenceID]; Moderation storage moderation = evidenceData.moderations[_moderationID]; return (moderation.paidFees, moderation.currentWinner, moderation.feeRewards);