Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jgeary committed Nov 29, 2022
1 parent d7bfc96 commit 99d2450
Show file tree
Hide file tree
Showing 4 changed files with 1,314 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.10;

/// @title IReserveAuctionListingAdjustableBufferIncrementEth
/// @author jgeary
/// @notice Interface for Reserve Auction w/ Listing Fee, Adjustable Buffer & Increment ETH
interface IReserveAuctionListingAdjustableBufferIncrementEth {
/// @notice Creates an auction for a given NFT
/// @param _tokenContract The address of the ERC-721 token
/// @param _tokenId The id of the ERC-721 token
/// @param _duration The length of time the auction should run after the first bid
/// @param _reservePrice The minimum bid amount to start the auction
/// @param _sellerFundsRecipient The address to send funds to once the auction is complete
/// @param _startTime The time that users can begin placing bids
/// @param _listingFeeBps The fee to send to the lister of the auction
/// @param _listingFeeRecipient The address listing the auction
/// @param _timeBuffer Time buffer in seconds
/// @param _percentIncrement The minimum percent increase for a new bid
function createAuction(
address _tokenContract,
uint256 _tokenId,
uint256 _duration,
uint256 _reservePrice,
address _sellerFundsRecipient,
uint256 _startTime,
uint256 _listingFeeBps,
address _listingFeeRecipient,
uint16 _timeBuffer,
uint8 _percentIncrement
) external;

/// @notice Updates the reserve price for a given auction
/// @param _tokenContract The address of the ERC-721 token
/// @param _tokenId The id of the ERC-721 token
/// @param _reservePrice The new reserve price
function setAuctionReservePrice(
address _tokenContract,
uint256 _tokenId,
uint256 _reservePrice
) external;

/// @notice Cancels the auction for a given NFT
/// @param _tokenContract The address of the ERC-721 token
/// @param _tokenId The id of the ERC-721 token
function cancelAuction(address _tokenContract, uint256 _tokenId) external;

/// @notice Places a bid on the auction for a given NFT
/// @param _tokenContract The address of the ERC-721 token
/// @param _tokenId The id of the ERC-721 token
function createBid(address _tokenContract, uint256 _tokenId) external payable;

/// @notice Ends the auction for a given NFT
/// @param _tokenContract The address of the ERC-721 token
/// @param _tokenId The id of the ERC-721 token
function settleAuction(address _tokenContract, uint256 _tokenId) external;
}
Loading

0 comments on commit 99d2450

Please sign in to comment.