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

Reserve Auction Listing w/ Adjustable Buffer and Increment #184

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion addresses/1.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
"ReserveAuctionFindersEth": "0x9458E29713B98BF452ee9B2C099289f533A5F377",
"ReserveAuctionFindersErc20": "0xd1adAF05575295710dE1145c3c9427c364A70a7f",
"ReserveAuctionListingEth": "0x1E58bE778aCae2744c1185ea1cE542f304860B96",
"ReserveAuctionListingErc20": "0x1e009dEC13A2A441b3Aa133Bd320FF5B16B22E71"
"ReserveAuctionListingErc20": "0x1e009dEC13A2A441b3Aa133Bd320FF5B16B22E71",
"ReserveAuctionListingAdjustabeBufferIncrementEth": "0x2266E420165177C049E4267c47B71Cf69Dc5a273"
}
1 change: 1 addition & 0 deletions addresses/5.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"ReserveAuctionFindersEth": "0x29a6237e646A5A189dB197A48cB96fa7944A32a2",
"ReserveAuctionListingErc20": "0x517F7721F3c3762F7048E03919761E027D900082",
"ReserveAuctionListingEth": "0xfcebE0788D5772Df2CBCF5079815dE98A4d62B09",
"ReserveAuctionListingAdjustabeBufferIncrementEth": "0xdB7ECAF63D4D68CeF46f9886A757ea448B97F493",
"RoyaltyEngineV1": "0xe7c9Cb6D966f76f3B5142167088927Bf34966a1f",
"WETH": "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",
"ZoraModuleManager": "0x9458E29713B98BF452ee9B2C099289f533A5F377",
Expand Down
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