@@ -19,7 +19,18 @@ contract CurateFactory {
19
19
20
20
/// @dev Emitted when a new Curate contract is deployed using this factory. TODO: change TCR mentions.
21
21
/// @param _address The address of the newly deployed Curate contract.
22
- event NewGTCR (CurateV2 indexed _address );
22
+ /// @param _listMetadata A link to registry / list metadata (title,description) using its URI
23
+ event NewList (CurateV2 indexed _address , string _listMetadata );
24
+
25
+ // ************************************* //
26
+ // * Enums / Structs * //
27
+ // ************************************* //
28
+
29
+ struct TemplateRegistryParams {
30
+ address templateRegistry; // The current status of the item.
31
+ string [2 ] registrationTemplateParameters; // Template and data mappings json for registration requests.
32
+ string [2 ] removalTemplateParameters; // Template and data mappings json for removal requests.
33
+ }
23
34
24
35
// ************************************* //
25
36
// * Storage * //
@@ -47,46 +58,47 @@ contract CurateFactory {
47
58
/// @param _arbitrator Arbitrator to resolve potential disputes. The arbitrator is trusted to support appeal periods and not reenter.
48
59
/// @param _arbitratorExtraData Extra data for the trusted arbitrator contract.
49
60
/// @param _evidenceModule The evidence contract for the arbitrator.
50
- /// @param _connectedTCR The address of the Curate contract that stores related Curate addresses. This parameter can be left empty.
51
- /// @param _registrationTemplateParameters Template and data mappings json for registration requests.
52
- /// @param _removalTemplateParameters Template and data mappings json for removal requests.
53
- /// @param _templateRegistry The dispute template registry.
61
+ /// @param _connectedList The address of the Curate contract that stores related Curate addresses. This parameter can be left empty.
62
+ /// @param _templateRegistryParams The dispute template registry.
63
+ /// - templateRegistry : The dispute template registry.
64
+ /// - registrationTemplateParameters : Template and data mappings json for registration requests.
65
+ /// - removalTemplateParameters : Template and data mappings json for removal requests.
54
66
/// @param _baseDeposits The base deposits for requests/challenges as follows:
55
67
/// - The base deposit to submit an item.
56
68
/// - The base deposit to remove an item.
57
69
/// - The base deposit to challenge a submission.
58
70
/// - The base deposit to challenge a removal request.
59
71
/// @param _challengePeriodDuration The time in seconds parties have to challenge a request.
60
72
/// @param _relayerContract The address of the relay contract to add/remove items directly.
73
+ /// @param _listMetadata A link to registry / list metadata (title,description) using its URI
61
74
function deploy (
62
75
address _governor ,
63
76
IArbitratorV2 _arbitrator ,
64
77
bytes calldata _arbitratorExtraData ,
65
78
EvidenceModule _evidenceModule ,
66
- address _connectedTCR ,
67
- string [2 ] calldata _registrationTemplateParameters ,
68
- string [2 ] calldata _removalTemplateParameters ,
69
- address _templateRegistry ,
79
+ address _connectedList ,
80
+ TemplateRegistryParams calldata _templateRegistryParams ,
70
81
uint256 [4 ] calldata _baseDeposits ,
71
82
uint256 _challengePeriodDuration ,
72
- address _relayerContract
83
+ address _relayerContract ,
84
+ string memory _listMetadata
73
85
) public {
74
86
CurateV2 instance = clone (curate);
75
87
instance.initialize (
76
88
_governor,
77
89
_arbitrator,
78
90
_arbitratorExtraData,
79
91
_evidenceModule,
80
- _connectedTCR ,
81
- _registrationTemplateParameters ,
82
- _removalTemplateParameters ,
83
- _templateRegistry ,
92
+ _connectedList ,
93
+ _templateRegistryParams.registrationTemplateParameters ,
94
+ _templateRegistryParams.removalTemplateParameters ,
95
+ _templateRegistryParams.templateRegistry ,
84
96
_baseDeposits,
85
97
_challengePeriodDuration,
86
98
_relayerContract
87
99
);
88
100
instances.push (instance);
89
- emit NewGTCR (instance);
101
+ emit NewList (instance, _listMetadata );
90
102
}
91
103
92
104
/// @notice Adaptation of https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/Clones.sol.
0 commit comments