NFTokenCancelOffer
NFTokenCancelOffer
トランザクションは、NFTokenCreateOffer
を使用して作成した既存のトークンへのオファーをキャンセルするために使用できます。
NFTokenCancelOffer JSONの例
{ "TransactionType": "NFTokenCancelOffer", "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "NFTokenOffers": [ "9C92E061381C1EF37A8CDE0E8FC35188BFC30B1883825042A64309AC09F4C36D" ] }
(NonFungibleTokensV1_1 amendmentにより追加されました)
アクセス権
NFTokenOffer
オブジェクトで表される既存のオファーは、以下の方法でキャンセルすることができます。
NFTokenOffer
を最初に作成したアカウントNFTokenOffer
のDestination
フィールドのアカウント(存在する場合)NFTokenOffer
が有効期限を指定しており、NFTokenCancelOffer
が含まれる親レジャーのクローズ時刻が有効期限より大きい場合、任意のアカウントに設定することができます
このトランザクションは、リストアップされたNFTokenOffer
オブジェクトがあればレジャーから削除し、それに応じて必要な準備金を調整します。NFTokenOffer
が見つからなくてもエラーにはなりません。その場合、トランザクションは正常に完了するでしょう。
NFTokenCancelOffer フィールド
共通フィールドに加えて、NFTokenCancelOfferトランザクションは以下のフィールドを使用します。
フィールド | JSONの型 | 内部の型 | 説明 |
---|---|---|---|
NFTokenOffers | 配列 | VECTOR256 | キャンセルするNFTokenOffer オブジェクトのIDの配列(NFToken オブジェクトのIDではなく、NFTokenOffer オブジェクトのID)です。各エントリはNFTokenOfferオブジェクトの異なるオブジェクトIDである必要があり、配列に重複した項目がある場合、トランザクションはエラーとなります。 |
NFTokenOffers
フィールドのIDの1つ以上が、レジャーに現在存在するオブジェクトを参照していない場合でも、トランザクションは成功します(たとえば、それらのオファーはすでに削除されている可能性があります)。IDの1つが存在するオブジェクトを指していても、NFTokenOfferオブジェクトでない場合は、エラーでトランザクションが失敗します。
注意すべき点は、誤ってnft_offer_index
ではなくnft_id
を指定してしまった場合、tesSUCCESS
レスポンスを受け取る可能性があることです。適切にフォーマットされたID値が見つからない場合、システムはNFTokenOffer
が既に削除されたと判断するからです。
IDがNFTokenOfferオブジェクトでないオブジェクトを指している場合、トランザクションはエラーで失敗します。
エラーケース
すべてのトランザクションで発生する可能性のあるエラーに加えて、NFTokenCancelOfferトランザクションでは、次のトランザクション結果コードが発生する可能性があります。
エラーコード | 説明 |
---|---|
temDISABLED | NonFungibleTokensV1 Amendmentは有効ではありません。 |
temMALFORMED | トランザクションが有効なフォーマットではありませんでした。たとえば、NFTokenOffers 配列が空であるか、一度にキャンセルできるオファーの最大数を超える数を含んでいた場合です。 |
tecNO_PERMISSION | NFTokenOffers フィールドのIDのうち少なくとも1つが、キャンセルできないオブジェクトを参照しています。例えば、このトランザクションの送信者がオファーの所有者やDestination ではない場合や、オブジェクトがNFTokenOffer タイプのオブジェクトではなかった場合などです。 |