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.
import { useAcceptDirectListingOffer } from "@thirdweb-dev/react";
const { mutateAsync, isLoading, error } = useAcceptDirectListingOffer(contract);
Usage
Provide a Marketplace
contract instance from the
useContract
hook as the first argument.
import {
useAcceptDirectListingOffer,
useContract,
Web3Button,
} from "@thirdweb-dev/react";
// Your smart contract address
const contractAddress = "{{contract_address}}";
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>
);
}