Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Commit 7158803

Browse files
committed
initial commit
1 parent b22e654 commit 7158803

File tree

4 files changed

+1314
-0
lines changed

4 files changed

+1314
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// SPDX-License-Identifier: GPL-3.0
2+
pragma solidity 0.8.10;
3+
4+
/// @title IReserveAuctionListingAdjustableBufferIncrementEth
5+
/// @author jgeary
6+
/// @notice Interface for Reserve Auction w/ Listing Fee, Adjustable Buffer & Increment ETH
7+
interface IReserveAuctionListingAdjustableBufferIncrementEth {
8+
/// @notice Creates an auction for a given NFT
9+
/// @param _tokenContract The address of the ERC-721 token
10+
/// @param _tokenId The id of the ERC-721 token
11+
/// @param _duration The length of time the auction should run after the first bid
12+
/// @param _reservePrice The minimum bid amount to start the auction
13+
/// @param _sellerFundsRecipient The address to send funds to once the auction is complete
14+
/// @param _startTime The time that users can begin placing bids
15+
/// @param _listingFeeBps The fee to send to the lister of the auction
16+
/// @param _listingFeeRecipient The address listing the auction
17+
/// @param _timeBuffer Time buffer in seconds
18+
/// @param _percentIncrement The minimum percent increase for a new bid
19+
function createAuction(
20+
address _tokenContract,
21+
uint256 _tokenId,
22+
uint256 _duration,
23+
uint256 _reservePrice,
24+
address _sellerFundsRecipient,
25+
uint256 _startTime,
26+
uint256 _listingFeeBps,
27+
address _listingFeeRecipient,
28+
uint16 _timeBuffer,
29+
uint8 _percentIncrement
30+
) external;
31+
32+
/// @notice Updates the reserve price for a given auction
33+
/// @param _tokenContract The address of the ERC-721 token
34+
/// @param _tokenId The id of the ERC-721 token
35+
/// @param _reservePrice The new reserve price
36+
function setAuctionReservePrice(
37+
address _tokenContract,
38+
uint256 _tokenId,
39+
uint256 _reservePrice
40+
) external;
41+
42+
/// @notice Cancels the auction for a given NFT
43+
/// @param _tokenContract The address of the ERC-721 token
44+
/// @param _tokenId The id of the ERC-721 token
45+
function cancelAuction(address _tokenContract, uint256 _tokenId) external;
46+
47+
/// @notice Places a bid on the auction for a given NFT
48+
/// @param _tokenContract The address of the ERC-721 token
49+
/// @param _tokenId The id of the ERC-721 token
50+
function createBid(address _tokenContract, uint256 _tokenId) external payable;
51+
52+
/// @notice Ends the auction for a given NFT
53+
/// @param _tokenContract The address of the ERC-721 token
54+
/// @param _tokenId The id of the ERC-721 token
55+
function settleAuction(address _tokenContract, uint256 _tokenId) external;
56+
}

0 commit comments

Comments
 (0)