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
Name | Type | Description |
---|
_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
Name | Type | Description |
---|
_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
Name | Type | Description |
---|
_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
Name | Type | Description |
---|
_listingId | uint256 | The ID of the listing to cancel. |
createListing
function createListing(IDirectListings.ListingParameters _params) external nonpayable returns (uint256 listingId)
Parameters
Name | Type | Description |
---|
_params | IDirectListings.ListingParameters | undefined |
Returns
Name | Type | Description |
---|
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
Name | Type | Description |
---|
_startId | uint256 | undefined |
_endId | uint256 | undefined |
Returns
Name | Type | Description |
---|
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
Name | Type | Description |
---|
_startId | uint256 | undefined |
_endId | uint256 | undefined |
Returns
Name | Type | Description |
---|
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
Name | Type | Description |
---|
_listingId | uint256 | The ID of the listing to fetch. |
Returns
Name | Type | Description |
---|
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
Name | Type | Description |
---|
_0 | uint256 | undefined |
updateListing
function updateListing(uint256 _listingId, IDirectListings.ListingParameters _params) external nonpayable
Parameters
Name | Type | Description |
---|
_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
Name | Type | Description |
---|
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
Name | Type | Description |
---|
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
Name | Type | Description |
---|
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
Name | Type | Description |
---|
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
Name | Type | Description |
---|
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
Name | Type | Description |
---|
listingCreator indexed | address | undefined |
listingId indexed | uint256 | undefined |
assetContract indexed | address | undefined |
listing | IDirectListings.Listing | undefined |