@0x/contracts-dev-utils
: Rebase.
This commit is contained in:
parent
a04722b612
commit
3ec8924e7f
@ -118,22 +118,14 @@ contract OrderValidationUtils is
|
|||||||
transferableTakerAssetAmount
|
transferableTakerAssetAmount
|
||||||
);
|
);
|
||||||
|
|
||||||
// Execute the maker transfers.
|
// Ensure that all of the asset data is valid. Fee asset data only needs
|
||||||
fillableTakerAssetAmount = LibOrderTransferSimulation.getSimulatedOrderMakerTransferResults(
|
// to be valid if the fees are nonzero.
|
||||||
exchangeAddress,
|
if (!_areOrderAssetDatasValid(order)) {
|
||||||
order,
|
|
||||||
order.takerAddress,
|
|
||||||
fillableTakerAssetAmount
|
|
||||||
) == LibOrderTransferSimulation.OrderTransferResults.TransfersSuccessful ? fillableTakerAssetAmount : 0;
|
|
||||||
|
|
||||||
if (!_isAssetDataValid(order.takerAssetData)) {
|
|
||||||
fillableTakerAssetAmount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (order.takerFee != 0 && !_isAssetDataValid(order.takerFeeAssetData)) {
|
|
||||||
fillableTakerAssetAmount = 0;
|
fillableTakerAssetAmount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the order is not fillable, then the fillable taker asset amount is
|
||||||
|
// zero by definition.
|
||||||
if (orderInfo.orderStatus != LibOrder.OrderStatus.FILLABLE) {
|
if (orderInfo.orderStatus != LibOrder.OrderStatus.FILLABLE) {
|
||||||
fillableTakerAssetAmount = 0;
|
fillableTakerAssetAmount = 0;
|
||||||
}
|
}
|
||||||
@ -210,6 +202,21 @@ contract OrderValidationUtils is
|
|||||||
return LibSafeMath.min256(transferableAssetAmount, order.makerAssetAmount);
|
return LibSafeMath.min256(transferableAssetAmount, order.makerAssetAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @dev Checks that the asset data contained in a ZeroEx is valid and returns
|
||||||
|
/// a boolean that indicates whether or not the asset data was found to be valid.
|
||||||
|
/// @param order A ZeroEx order to validate.
|
||||||
|
/// @return The validatity of the asset data.
|
||||||
|
function _areOrderAssetDatasValid(LibOrder.Order memory order)
|
||||||
|
internal
|
||||||
|
pure
|
||||||
|
returns (bool)
|
||||||
|
{
|
||||||
|
return _isAssetDataValid(order.makerAssetData) &&
|
||||||
|
(order.makerFee == 0 || _isAssetDataValid(order.makerFeeAssetData)) &&
|
||||||
|
_isAssetDataValid(order.takerAssetData) &&
|
||||||
|
(order.takerFee == 0 || _isAssetDataValid(order.takerFeeAssetData));
|
||||||
|
}
|
||||||
|
|
||||||
/// @dev This function handles the edge cases around taker validation. This function
|
/// @dev This function handles the edge cases around taker validation. This function
|
||||||
/// currently attempts to find duplicate ERC721 token's in the taker
|
/// currently attempts to find duplicate ERC721 token's in the taker
|
||||||
/// multiAssetData.
|
/// multiAssetData.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user