1+ // SPDX-License-Identifier: MIT
2+ pragma solidity 0.8.10 ;
3+
4+ interface IReserveAuctionV3 {
5+ /// @notice Creates an auction for a given NFT
6+ /// @param _tokenContract The address of the ERC-721 token
7+ /// @param _tokenId The id of the ERC-721 token
8+ /// @param _duration The length of time the auction should run after the first bid
9+ /// @param _reservePrice The minimum bid amount to start the auction
10+ /// @param _sellerFundsRecipient The address to send funds to once the auction is complete
11+ /// @param _startTime The time that users can begin placing bids
12+ /// @param _bidCurrency The address of the ERC-20 token, or address(0) for ETH, that users must bid with
13+ /// @param _findersFeeBps The fee to send to the referrer of the winning bid
14+ function createAuction (
15+ address _tokenContract ,
16+ uint256 _tokenId ,
17+ uint256 _duration ,
18+ uint256 _reservePrice ,
19+ address _sellerFundsRecipient ,
20+ uint256 _startTime ,
21+ address _bidCurrency ,
22+ uint256 _findersFeeBps
23+ ) external ;
24+
25+ /// @notice Updates the reserve price for a given auction
26+ /// @param _tokenContract The address of the ERC-721 token
27+ /// @param _tokenId The id of the ERC-721 token
28+ /// @param _reservePrice The new reserve price
29+ function setAuctionReservePrice (address _tokenContract , uint256 _tokenId , uint256 _reservePrice ) external ;
30+
31+ /// @notice Cancels the auction for a given NFT
32+ /// @param _tokenContract The address of the ERC-721 token
33+ /// @param _tokenId The id of the ERC-721 token
34+ function cancelAuction (address _tokenContract , uint256 _tokenId ) external ;
35+
36+ /// @notice Places a bid on the auction for a given NFT
37+ /// @param _tokenContract The address of the ERC-721 token
38+ /// @param _tokenId The id of the ERC-721 token
39+ /// @param _amount The amount to bid
40+ /// @param _finder The referrer of the bid
41+ function createBid (address _tokenContract , uint256 _tokenId , uint256 _amount , address _finder ) external payable ;
42+
43+ /// @notice Ends the auction for a given NFT
44+ /// @param _tokenContract The address of the ERC-721 token
45+ /// @param _tokenId The id of the ERC-721 token
46+ function settleAuction (address _tokenContract , uint256 _tokenId ) external ;
47+ }
0 commit comments