Hook for purchasing multiple NFTs with financing.

import { Offer, useBuyWithFinancingBatch } from '@niftyapes/sdk'

Usage

import {FC} from 'react'
import {BigNumber} from "ethers";
import {useWaitForTransaction} from 'wagmi'
import {Offer,useBuyWithFinancingBatch} from '@niftyapes/sdk'

const App: FC = () => {

    const offer: Offer = {}; // Valid Offer

    const {data, write} = useBuyWithFinancingBatch({
        financingOffers: [offer],
        offerSignatures: ['0x232'],
        nftIds: [BigNumber.from("1234")]
    });

    const {isLoading, isSuccess} = useWaitForTransaction({hash: data?.hash})

    return (
        <div>
            <button disabled={!write} onClick={() => write?.()}>
                Buy with Financing
            < /button>
            {isLoading && <div>Buying...</div>}
            {isSuccess && <div>Purchase completed: {JSON.stringify(data)}</div>}
        < /div>
    )
}
export default App;

Configuration

Requires a marketplace integration contract address to be added in the NiftyApes Provider, and passed an array of financing offers Offer, an array of signatures and an array of NFT IDs.

{
  financingOffers: Offer[];
  offerSignatures: `0x${string}`[];
  nftIds: BigNumber[];
}

Return Value

{
  data?: SendTransactionResult
  error?: Error
  isError: boolean
  isIdle: boolean
  isLoading: boolean
  isSuccess: boolean
  write: (() => void) | undefined
  status: 'idle' | 'error' | 'loading' | 'success'
}