useAcceptDirectListingOffer

Hook for accepting an offer from a direct listing on a Marketplace contract.

Allows the seller (the user who listed the NFT for sale) to accept an offer on their listing, triggering a sale event, meaning the:

  • NFT(s) are transferred from the seller to the buyer.

  • Funds from the offeror are sent to the seller.

Example

import {
useAcceptDirectListingOffer,
useContract,
Web3Button,
} from "@thirdweb-dev/react";
function App() {
const { contract } = useContract(contractAddress, "marketplace");
const {
mutateAsync: acceptDirectOffer,
isLoading,
error,
} = useAcceptDirectListingOffer(contract);
return (
<Web3Button
contractAddress={contractAddress}
action={() =>
acceptDirectOffer({
listingId: "{{listing_id}}",
addressOfOfferor: "{{offeror_address}}",
})
}
>
Accept Offer
</Web3Button>
);
}
function useAcceptDirectListingOffer(
contract: RequiredParam<Marketplace>,
): UseMutationResult<
Omit<{}, "data">,
unknown,
unknown
>;

Parameters

Instance of a Marketplace contract

Type

let contract: RequiredParam<Marketplace>;

Returns

let returnType: UseMutationResult<
Omit<{}, "data">,
unknown,
unknown
>;

Mutation object to accept an offer on a direct listing

const { mutateAsync, isLoading, error } =
useAcceptDirectListingOffer(contract);

options

The mutation function accepts an object as argument with the following properties:

listingId

The listingId of the listing you wish to accept.

addressOfOfferor

The wallet address of the user who made the offer you wish to accept.

The useContractEvents hook can be used to read all NewOffer events on your Marketplace contract.