NFTokenCreateOffer
トランザクションを送信するアカウントが所有するNFTokenに対する新しい 売却 オファー、または別のアカウントが所有するNFTokenに対する新しい 購入 オファーを作成します。
成功した場合、トランザクションはNFTokenOfferオブジェクトを作成します。各オファーは、オファーを提示したアカウントの所有者準備金に関連づけて1つのオブジェクトとしてカウントされます。
NonFungibleTokensV1_1 amendmentが必要です。 Loading...
NFTokenCreateOffer JSONの例
{
"TransactionType": "NFTokenCreateOffer",
"Account": "rs8jBmmfpwgmrSPgwMsh7CvKRmRt1JTVSX",
"NFTokenID": "000100001E962F495F07A990F4ED55ACCFEEF365DBAA76B6A048C0A200000007",
"Amount": "1000000",
"Flags": 1
}NFTokenCreateOffer フィールド
共通フィールドに加えて、NFTokenCreateOfferトランザクションは以下のフィールドを使用します。
| フィールド | JSONの型 | 内部の型 | 説明 |
|---|---|---|---|
Owner | 文字列 | AccountID | (省略可) 対応するNFTokenの所有者を指定します。トークンの購入オファーである場合、このフィールドは必ず存在し、Accountフィールドとは異なるものでなければなりません(すでに保有しているトークンの購入オファーは無意味)。トークンの売却オファーである場合、このフィールドは存在してはいけません。所有者は暗黙のうちにAccountと同じになるからです(すでに保有していないトークンを売却するオファーは無意味)。 |
NFTokenID | 文字列 | UInt256 | オファーが参照するNFTokenオブジェクトを指定します。 |
Amount | 通貨額 | Amount | 対応するNFTokenに対する売却希望額または売却提示額を表します。0を指定することは、トークンの現在の所有者が、誰でも、またはDestinationフィールドで指定されたアカウントに、トークンを無償で譲渡することを意味します。 |
Expiration | 数値 | UInt32 | (省略可) オファーが無効となる時間を指定します。値はRippleエポック以降の経過秒数です。 |
Destination | 文字列 | AccountID | (省略可) 存在する場合、このオファーは指定されたアカウントによってのみ受け入れることが可能であることを示します。他のアカウントによってこのオファーを受け入れることはできません。 |
NFTokenCreateOfferフラグ
NFTokenCreateOfferタイプのトランザクションは、以下のようにFlagsフィールドに追加の値を設定することが可能です。
| フラグ名 | 16進数値 | 整数値 | 説明 |
|---|---|---|---|
tfSellNFToken | 0x00000001 | 1 | 有効な場合、オファーが売却オファーであることを示します。そうでない場合は、購入オファーであることを示します。 |
エラーケース
すべてのトランザクションで発生する可能性のあるエラーに加えて、NFTokenCreateOfferトランザクションでは、次のトランザクション結果コードが発生する可能性があります。
| エラーコード | 説明 |
|---|---|
temDISABLED | NonFungibleTokensV1 Amendmentは有効ではありません。 |
temBAD_AMOUNT | Amountフィールドが有効ではありません。例えば、購入オファーで金額がゼロであったり、金額はトークンであるがNFTokenでlsfOnlyXRPフラグが有効になっている場合などです。 |
temBAD_EXPIRATION | 指定されたExpirationは無効です(例:0)。 |
tecDIR_FULL | 送信者がレジャーにすでにあまりにも多くのオブジェクトを所有しているか、またはこのトークンの売買のオファーがあまりにも多く存在しています。 |
tecEXPIRED | 指定されたExpirationの時間は既に経過しています。 |
tecFROZEN | Amountはトークンで、このオファーからトークンを受け取るトラストラインはフリーズされています。これは売却者のトラストラインか、NFTokenの発行者のトラストライン(NFTokenに送金手数料がある場合)である可能性があります。 |
tecINSUFFICIENT_RESERVE | 送信者はこのオファーを提示した後、所有者準備金を満たすのに十分なXRPを持っていません。 |
tecNO_DST | Destinationに指定されたアカウントがレジャーに存在しません。 |
tecNO_ENTRY | NFTokenフィールドで指定したアカウントは所有していません。 |
tecNO_ISSUER | Amountフィールドで指定した発行者が存在しません。 |
tecNO_LINE | Amountフィールドはトークンですが、NFTokenの発行者はそのトークンのトラストラインを持っておらず、NFTokenはlsfTrustLineフラグが有効ではありません。 |
tecNO_PERMISSION | Destinationアカウントが着信する NFTokenOffer をブロックします。 DisallowIncoming amendmentが必要です。 Loading... |
tecUNFUNDED_OFFER | 購入オファーの場合、送信者はAmountフィールドで指定された通貨を利用可能です。もしAmountがXRPである場合、これは準備不足によるものかもしれません。もしAmountがトークンである場合、これはフリーズされている可能性があります。 |
tefNFTOKEN_IS_NOT_TRANSFERABLE | NFTokenはlsfTransferableフラグが無効になっており、このトランザクションではNFTokenを発行者に転送したり発行者から転送したりすることはできません。 |