Skip to main content

useEnglishAuction

Hook to get an english auction listing from a Marketplace V3 contract.

Marketplace

Note: This hook is only for Marketplace V3 contracts.

For Marketplace contracts, use useListing instead.

import { useEnglishAuction } from "@thirdweb-dev/react";

const { data, isLoading, error } = useEnglishAuction(contract, listingId);

Usage​

Provide your Marketplace V3 contract instance and the listing ID as arguments to the hook.

import { useEnglishAuction, useContract } from "@thirdweb-dev/react";

// Your smart contract address
const contractAddress = "{{contract_address}}";

// The auction id you want to check
const listingId = "{{auction_id}}";

function App() {
const { contract } = useContract(contractAddress, "marketplace-v3");
const {
data: englishAuction,
isLoading,
error,
} = useEnglishAuction(contract, listingId);
}

Configuration​

listingId (required)

listingId (required)​

The ID of the listing to get.

If the listing with this ID cannot be found (or is not an auction), the error property will be set.

import { useEnglishAuction, useContract } from "@thirdweb-dev/react";

// Your smart contract address
const contractAddress = "{{contract_address}}";

// The auction id you want to check
const listingId = "{{listing_id}}";

function App() {
const { contract } = useContract(contractAddress, "marketplace-v3");
const {
data: englishAuction,
isLoading,
error,
} = useEnglishAuction(contract, listingId);
}
```

</div>
</details>

## Return Value

<details>
<summary>Return Value</summary>
<div>

The hook's `data` property, once loaded, will be an `EnglishAuction` object, containing the following properties:

```ts
{
/**
* The id of the auction
*/
id: string;
/**
* The address of the creator of auction.
*/
creatorAddress: string;
/**
* The address of the asset being auctioned.
*/
assetContractAddress: string;
/**
* The ID of the token to auction.
*/
tokenId: string;
/**
* The quantity of tokens to include in the auction.
*
* For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).
*/
quantity: string;
/**
* The address of the currency to accept for the auction.
*/
currencyContractAddress: string;
/**
* The minimum price that a bid must be in order to be accepted.
*/
minimumBidAmount: string;
/**
* The `CurrencyValue` of the minimum bid amount.
* Useful for displaying the price information.
*/
minimumBidCurrencyValue: CurrencyValue;
/**
* The buyout price of the auction.
*/
buyoutBidAmount: string;
/**
* The `CurrencyValue` of the buyout price.
* Useful for displaying the price information.
*/
buyoutCurrencyValue: CurrencyValue;
/**
* This is a buffer e.g. x seconds.
*
* If a new winning bid is made less than x seconds before expirationTimestamp, the
* expirationTimestamp is increased by x seconds.
*/
timeBufferInSeconds: number;
/**
* This is a buffer in basis points e.g. x%.
*
* To be considered as a new winning bid, a bid must be at least x% greater than
* the current winning bid.
*/
bidBufferBps: number;
/**
* The start time of the auction.
*/
startTimeInSeconds: number;
/**
* The end time of the auction.
*/
endTimeInSeconds: number;
/**
* The asset being auctioned.
*/
asset: NFTMetadata;
/**
* Whether the listing is CREATED, COMPLETED, or CANCELLED.
*/
status: Status;
}