インポート
import { useERC1155SaleContractCheckout } from '@0xsequence/checkout'
使い方
import { useERC1155SaleContractCheckout } from "@0xsequence/checkout"
import { useAccount } from "wagmi"
function App() {
const { address: userAddress } = useAccount()
const { openCheckoutModal } = useERC1155SaleContractCheckout({
chain: 80001, // chainId of the chain the collectible is on
contractAddress: "0x0327b2f274e04d292e74a06809bcd687c63a4ba4", // address of the contract handling the minting function
wallet: userAddress!, // address of the recipient
collectionAddress: "0x888a322db4b8033bac3ff84412738c096f87f9d0", // address of the collection contract
items: [
// array of collectibles to purchase
{
tokenId: "0",
quantity: "1",
},
],
onSuccess: (txnHash: string) => {
console.log("success!", txnHash)
},
onError: (error: Error) => {
console.error(error)
},
})
const onClick = () => {
if (!userAddress) {
return
}
openCheckoutModal()
}
return <button onClick={onClick}>Buy ERC-1155 collectible!</button>
}
返り値の型: UseERC1155SaleContractCheckoutReturnType
このフックは以下のプロパティを持つオブジェクトを返します。
interface UseERC1155SaleContractCheckoutReturnType {
openCheckoutModal: () => void
closeCheckoutModal: () => void
selectPaymentSettings?: SelectPaymentSettings
isLoading: boolean
isError: boolean
}
プロパティ
openCheckoutModal
() => void
設定済みのERC-1155購入でチェックアウトモーダルを開く関数です。
closeCheckoutModal
() => void
チェックアウトモーダルを閉じる関数です。
selectPaymentSettings
SelectPaymentSettings | undefined
export interface SelectPaymentSettings {
collectibles: Collectible[]
chain: number | string
currencyAddress: string | Hex
price: string
targetContractAddress: string | Hex
txData: Hex
collectionAddress: string | Hex
recipientAddress: string | Hex
approvedSpenderAddress?: string
transactionConfirmations?: number
onSuccess?: (txHash: string) => void
onError?: (error: Error) => void
onClose?: () => void
enableMainCurrencyPayment?: boolean
enableSwapPayments?: boolean
enableTransferFunds?: boolean
creditCardProviders?: string[]
copyrightText?: string
transakConfig?: TransakConfig
customProviderCallback?: (onSuccess: (txHash: string) => void, onError: (error: Error) => void, onClose: () => void) => void
supplementaryAnalyticsInfo?: SupplementaryAnalyticsInfo
}
モーダルの現在の支払い設定構成です。
isLoading
boolean
コントラクトデータがまだ読み込み中かどうか。
isError
boolean
コントラクトデータの読み込み時にエラーが発生したかどうか。
パラメータ
このフックは、以下のプロパティを持つ設定オブジェクトを受け取ります:
パラメータ | 型 | 説明 |
---|
chain | number | 販売コントラクトがデプロイされているチェーンID |
contractAddress | string | ERC-1155販売コントラクトのアドレス |
wallet | string | NFTを受け取るウォレットのアドレス |
collectionAddress | string | ERC-1155トークンコントラクトのアドレス |
items | Array<{tokenId: string, quantity: string}> | 購入するトークンIDと数量の配列。 |
onSuccess | (txnHash: string) => void | (オプション)トランザクションが成功した際のコールバック関数 |
onError | (error: Error) => void | (オプション)エラー発生時のコールバック関数 |
onClose | () => void | (オプション)モーダルが閉じられた際のコールバック関数 |
このフックは、ERC-1155トークンの購入プロセスを自動化し、以下の作業を簡単にします。
- 販売コントラクトから価格情報を取得。
- 支払いオプション(暗号資産、クレジットカードなど)を判定。
- 適切なトランザクションデータを生成。
- チェックアウトモーダルの表示と管理。
非推奨のお知らせ
useERC1155SaleContractPaymentModal
フックは非推奨です。代わりにuseERC1155SaleContractCheckout
をご利用ください。