IDirectListings
thirdweb.com The DirectListings
extension smart contract lets you buy and sell NFTs (ERC-721 or ERC-1155) for a fixed price.
Methods
approveBuyerForListing
function approveBuyerForListing(uint256 _listingId, address _buyer, bool _toApprove) external nonpayable
Approve a buyer to buy from a reserved listing.
Parameters
_listingId
uint256
The ID of the listing to update.
_buyer
address
The address of the buyer to approve to buy from the listing.
_toApprove
bool
Whether to approve the buyer to buy from the listing.
approveCurrencyForListing
function approveCurrencyForListing(uint256 _listingId, address _currency, uint256 _pricePerTokenInCurrency) external nonpayable
Approve a currency as a form of payment for the listing.
Parameters
_listingId
uint256
The ID of the listing to update.
_currency
address
The address of the currency to approve as a form of payment for the listing.
_pricePerTokenInCurrency
uint256
The price per token for the currency to approve.
buyFromListing
function buyFromListing(uint256 _listingId, address _buyFor, uint256 _quantity, address _currency, uint256 _expectedTotalPrice) external payable
Buy NFTs from a listing.
Parameters
_listingId
uint256
The ID of the listing to update.
_buyFor
address
The recipient of the NFTs being bought.
_quantity
uint256
The quantity of NFTs to buy from the listing.
_currency
address
The currency to use to pay for NFTs.
_expectedTotalPrice
uint256
The expected total price to pay for the NFTs being bought.
cancelListing
function cancelListing(uint256 _listingId) external nonpayable
Cancel a listing.
Parameters
_listingId
uint256
The ID of the listing to cancel.
createListing
function createListing(IDirectListings.ListingParameters _params) external nonpayable returns (uint256 listingId)
Parameters
_params
IDirectListings.ListingParameters
undefined
Returns
listingId
uint256
undefined
getAllListings
function getAllListings(uint256 _startId, uint256 _endId) external view returns (struct IDirectListings.Listing[] listings)
Returns all listings between the start and end Id (both inclusive) provided.
Parameters
_startId
uint256
undefined
_endId
uint256
undefined
Returns
listings
IDirectListings.Listing[]
undefined
getAllValidListings
function getAllValidListings(uint256 _startId, uint256 _endId) external view returns (struct IDirectListings.Listing[] listings)
Returns all valid listings between the start and end Id (both inclusive) provided. A valid listing is where the listing creator still owns and has approved Marketplace to transfer the listed NFTs.
Parameters
_startId
uint256
undefined
_endId
uint256
undefined
Returns
listings
IDirectListings.Listing[]
undefined
getListing
function getListing(uint256 _listingId) external view returns (struct IDirectListings.Listing listing)
Returns a listing at the provided listing ID.
Parameters
_listingId
uint256
The ID of the listing to fetch.
Returns
listing
IDirectListings.Listing
undefined
totalListings
function totalListings() external view returns (uint256)
Returns the total number of listings created.
At any point, the return value is the ID of the next listing created.
Returns
_0
uint256
undefined
updateListing
function updateListing(uint256 _listingId, IDirectListings.ListingParameters _params) external nonpayable
Parameters
_listingId
uint256
undefined
_params
IDirectListings.ListingParameters
undefined
Events
BuyerApprovedForListing
event BuyerApprovedForListing(uint256 indexed listingId, address indexed buyer, bool approved)
Emitted when a buyer is approved to buy from a reserved listing.
Parameters
listingId indexed
uint256
undefined
buyer indexed
address
undefined
approved
bool
undefined
CancelledListing
event CancelledListing(address indexed listingCreator, uint256 indexed listingId)
Emitted when a listing is cancelled.
Parameters
listingCreator indexed
address
undefined
listingId indexed
uint256
undefined
CurrencyApprovedForListing
event CurrencyApprovedForListing(uint256 indexed listingId, address indexed currency, uint256 pricePerToken)
Emitted when a currency is approved as a form of payment for the listing.
Parameters
listingId indexed
uint256
undefined
currency indexed
address
undefined
pricePerToken
uint256
undefined
NewListing
event NewListing(address indexed listingCreator, uint256 indexed listingId, address indexed assetContract, IDirectListings.Listing listing)
Emitted when a new listing is created.
Parameters
listingCreator indexed
address
undefined
listingId indexed
uint256
undefined
assetContract indexed
address
undefined
listing
IDirectListings.Listing
undefined
NewSale
event NewSale(address indexed listingCreator, uint256 indexed listingId, address indexed assetContract, uint256 tokenId, address buyer, uint256 quantityBought, uint256 totalPricePaid)
Emitted when NFTs are bought from a listing.
Parameters
listingCreator indexed
address
undefined
listingId indexed
uint256
undefined
assetContract indexed
address
undefined
tokenId
uint256
undefined
buyer
address
undefined
quantityBought
uint256
undefined
totalPricePaid
uint256
undefined
UpdatedListing
event UpdatedListing(address indexed listingCreator, uint256 indexed listingId, address indexed assetContract, IDirectListings.Listing listing)
Emitted when a listing is updated.
Parameters
listingCreator indexed
address
undefined
listingId indexed
uint256
undefined
assetContract indexed
address
undefined
listing
IDirectListings.Listing
undefined
Last updated