@@ -35,22 +35,22 @@ contract PriceOracleValidation is IValidationCallback {
35
35
error FailedToCallValidationContract (bytes reason );
36
36
error InsufficientOutput (uint256 minOutput , uint256 actualOutput );
37
37
38
- function validate (address , ResolvedOrder calldata resolvedOrder ) external view {
38
+ function validate (address , ResolvedOrder calldata resolvedOrder ) external {
39
39
(address to , bytes memory data ) = abi.decode (resolvedOrder.info.additionalValidationData, (address , bytes ));
40
40
41
41
// No strict interface enforced here
42
- (bool success , bytes memory returnData ) = address (to).staticcall (data);
42
+ (bool success , bytes memory returnData ) = address (to).call (data);
43
43
if (! success) {
44
44
revert FailedToCallValidationContract (returnData);
45
45
}
46
- uint256 amount = abi.decode (returnData, (uint256 ));
46
+ uint256 amountOut = abi.decode (returnData, (uint256 ));
47
47
48
48
uint256 totalOutputAmount;
49
49
for (uint256 i = 0 ; i < resolvedOrder.outputs.length ; i++ ) {
50
50
totalOutputAmount += resolvedOrder.outputs[i].amount;
51
51
}
52
- if (amount < totalOutputAmount) {
53
- revert InsufficientOutput (amount , totalOutputAmount);
52
+ if (amountOut < totalOutputAmount) {
53
+ revert InsufficientOutput (amountOut , totalOutputAmount);
54
54
}
55
55
}
56
56
}
0 commit comments