NFTokenCancelOffer

NFTokenCancelOffer トランザクションは、NFTokenCreateOffer を使用して作成した既存のトークンへのオファーをキャンセルするために使用できます。

NFTokenCancelOffer JSONの例

{
    "TransactionType": "NFTokenCancelOffer",
    "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
    "NFTokenOffers": [
      "9C92E061381C1EF37A8CDE0E8FC35188BFC30B1883825042A64309AC09F4C36D"
    ]
}

(NonFungibleTokensV1_1 amendmentが必要です)

アクセス権

NFTokenOffer オブジェクトで表される既存のオファーは、以下の方法でキャンセルすることができます。

  • NFTokenOfferを最初に作成したアカウント
  • NFTokenOfferDestination フィールドのアカウント(存在する場合)
  • NFTokenOfferが有効期限を指定しており、NFTokenCancelOfferが含まれる親レジャーのクローズ時刻が有効期限より大きい場合、任意のアカウントに設定することができます

このトランザクションは、リストアップされた NFTokenOffer オブジェクトがあればレジャーから削除し、それに応じて必要な準備金を調整します。NFTokenOffer が見つからなくてもエラーにはなりません。その場合、トランザクションは正常に完了するでしょう。

NFTokenCancelOffer Fields

In addition to the common fields, NFTokenCancelOffer transactions use the following fields:

フィールド 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の修正は有効ではありません。
temMALFORMED トランザクションが有効なフォーマットではありませんでした。たとえば、NFTokenOffers 配列が空であるか、一度にキャンセルできるオファーの最大数を超える数を含んでいた場合です。
tecNO_PERMISSION NFTokenOffers フィールドの ID のうち少なくとも 1 つが、キャンセルできないオブジェクトを参照しています。例えば、このトランザクションの送信者がオファーの所有者やDestinationではない場合や、オブジェクトがNFTokenOfferタイプのオブジェクトではなかった場合などです。