diff --git a/contracts/feeAuction/FeeAuction.sol b/contracts/feeAuction/FeeAuction.sol index 61851606..3f3bf328 100644 --- a/contracts/feeAuction/FeeAuction.sol +++ b/contracts/feeAuction/FeeAuction.sol @@ -152,6 +152,7 @@ contract FeeAuction is IFeeAuction, UUPSUpgradeable, Access, FeeAuctionStorageUt balances = new uint256[](assetsLength); for (uint256 i; i < assetsLength; ++i) { address asset = _assets[i]; + if (asset == address(0)) revert InvalidAsset(); uint256 balance = IERC20(asset).balanceOf(address(this)); balances[i] = balance; if (balance < _minAmounts[i]) revert InsufficientBalance(asset, balance, _minAmounts[i]); diff --git a/contracts/interfaces/IFeeAuction.sol b/contracts/interfaces/IFeeAuction.sol index ff9a79cc..daaca3ff 100644 --- a/contracts/interfaces/IFeeAuction.sol +++ b/contracts/interfaces/IFeeAuction.sol @@ -36,6 +36,9 @@ interface IFeeAuction { /// @dev Set start price event SetStartPrice(uint256 startPrice); + /// @dev Asset must be non-zero address + error InvalidAsset(); + /// @dev Assets must be non-zero length and have matching lengths error InvalidAssets();