diff --git a/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol b/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol index eddc7f4d..7d7d81cf 100644 --- a/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol +++ b/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol @@ -45,9 +45,16 @@ contract Migration__20231123_UpgradeAuctionClaimeUnbiddedNames is RNSDeploy { } vm.revertTo(snapshotId); + uint256 firstFailId; + for (uint256 i; i < domainAuctions.length; ++i) { + if (domainAuctions[i].bid.bidder != address(0x0)) { + firstFailId = reservedIds[i]; + break; + } + } // !allowFailure vm.prank(operator); - vm.expectRevert(INSAuction.AlreadyBidding.selector); + vm.expectRevert(abi.encodeWithSelector(INSAuction.AlreadyBidding.selector, firstFailId)); claimeds = auction.bulkClaimUnbiddedNames(tos, reservedIds, false); } } diff --git a/src/RNSAuction.sol b/src/RNSAuction.sol index 7f1f6223..86f66cfa 100644 --- a/src/RNSAuction.sol +++ b/src/RNSAuction.sol @@ -165,7 +165,7 @@ contract RNSAuction is Initializable, AccessControlEnumerable, INSAuction { sAuction = _domainAuction[id]; mAuctionId = sAuction.auctionId; if (!(mAuctionId == 0 || mAuctionId == auctionId || sAuction.bid.timestamp == 0)) { - revert AlreadyBidding(); + revert AlreadyBidding(id); } sAuction.auctionId = auctionId; @@ -232,7 +232,7 @@ contract RNSAuction is Initializable, AccessControlEnumerable, INSAuction { rnsUnified.transferFrom(address(this), tos[i], id); claimeds[i] = true; } else if (!allowFailure) { - revert AlreadyBidding(); + revert AlreadyBidding(id); } unchecked { diff --git a/src/interfaces/INSAuction.sol b/src/interfaces/INSAuction.sol index 7fade0ec..8f254cdf 100644 --- a/src/interfaces/INSAuction.sol +++ b/src/interfaces/INSAuction.sol @@ -8,7 +8,7 @@ interface INSAuction { error NotYetEnded(); error NoOneBidded(); error NullAssignment(); - error AlreadyBidding(); + error AlreadyBidding(uint256 id); error RatioIsTooLarge(); error NameNotReserved(); error InvalidEventRange();