Skip to content

Commit 0d44311

Browse files
allow anyone to execute the payout of an auction (#357)
* allow anyone to execute the payout of an auction Currently, only the auction creator can execute the payout of an auction. Since there is no logic in the contract that would send the funds anywhere other than the auction creator, we should allow anyone to execute this function. This is useful for when the buyer wants to receive the NFT upon the end of an auction, the buyer has the option for the seller to be paid out in the same transaction. It is especially useful because there doesn't seem to be a straight-forward way for a front-end dapp to know if the buyer has only closed the auction for themselves in which case the sdk's function for ("executeSale")[https://portal.thirdweb.com/typescript/sdk.englishauctions#executesale] will fail. By allowing anyone to close out the entire auction, dapps can show the "executeSale" button to all users and they will all be able to execute it. * Remove parameter from nonReentrant modifier --------- Co-authored-by: nkrishang <[email protected]>
1 parent bb651ad commit 0d44311

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

contracts/marketplace/english-auctions/EnglishAuctionsLogic.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ contract EnglishAuctionsLogic is IEnglishAuctions, ReentrancyGuardLogic, ERC2771
142142
_handleBid(_targetAuction, newBid);
143143
}
144144

145-
function collectAuctionPayout(uint256 _auctionId) external nonReentrant onlyAuctionCreator(_auctionId) {
145+
function collectAuctionPayout(uint256 _auctionId) external nonReentrant {
146146
EnglishAuctionsStorage.Data storage data = EnglishAuctionsStorage.englishAuctionsStorage();
147147

148148
require(!data.payoutStatus[_auctionId].paidOutBidAmount, "Marketplace: payout already completed.");

0 commit comments

Comments
 (0)