@@ -73,27 +73,63 @@ abstract contract Module is IModule {
73
73
) internal pure returns (bytes32 _responseId ) {
74
74
bytes32 _requestId = _getId (_request);
75
75
_responseId = _getId (_response);
76
+
76
77
if (_response.requestId != _requestId) revert Module_InvalidResponseBody ();
77
78
}
78
79
79
80
/**
80
- * @notice Validates the correctness of a request-response- dispute triplet
81
+ * @notice Validates the correctness of a request-dispute pair
81
82
*
82
83
* @param _request The request to compute the id for
83
- * @param _response The response to compute the id for
84
84
* @param _dispute The dispute to compute the id for
85
85
* @return _disputeId The id the dispute
86
86
*/
87
87
function _validateDispute (
88
88
IOracle.Request calldata _request ,
89
- IOracle.Response calldata _response ,
90
89
IOracle.Dispute calldata _dispute
91
90
) internal pure returns (bytes32 _disputeId ) {
92
91
bytes32 _requestId = _getId (_request);
92
+ _disputeId = _getId (_dispute);
93
+
94
+ if (_dispute.requestId != _requestId) revert Module_InvalidDisputeBody ();
95
+ }
96
+
97
+ /**
98
+ * @notice Validates the correctness of a response-dispute pair
99
+ *
100
+ * @param _response The response to compute the id for
101
+ * @param _dispute The dispute to compute the id for
102
+ * @return _disputeId The id the dispute
103
+ */
104
+ function _validateDispute (
105
+ IOracle.Response calldata _response ,
106
+ IOracle.Dispute calldata _dispute
107
+ ) internal pure returns (bytes32 _disputeId ) {
93
108
bytes32 _responseId = _getId (_response);
94
109
_disputeId = _getId (_dispute);
95
110
96
- if (_dispute.requestId != _requestId || _dispute.responseId != _responseId) revert Module_InvalidDisputeBody ();
111
+ if (_dispute.responseId != _responseId) revert Module_InvalidDisputeBody ();
112
+ }
113
+
114
+ /**
115
+ * @notice Validates the correctness of a request-response-dispute triplet
116
+ *
117
+ * @param _request The request to compute the id for
118
+ * @param _response The response to compute the id for
119
+ * @param _dispute The dispute to compute the id for
120
+ * @return _responseId The id the response
121
+ * @return _disputeId The id the dispute
122
+ */
123
+ function _validateResponseAndDispute (
124
+ IOracle.Request calldata _request ,
125
+ IOracle.Response calldata _response ,
126
+ IOracle.Dispute calldata _dispute
127
+ ) internal pure returns (bytes32 _responseId , bytes32 _disputeId ) {
128
+ bytes32 _requestId = _getId (_request);
129
+ _responseId = _getId (_response);
130
+ _disputeId = _getId (_dispute);
131
+
97
132
if (_response.requestId != _requestId) revert Module_InvalidResponseBody ();
133
+ if (_dispute.requestId != _requestId || _dispute.responseId != _responseId) revert Module_InvalidDisputeBody ();
98
134
}
99
135
}
0 commit comments