OfferCreate

[ソース]

OfferCreateトランザクションは、効果的な指値注文 です。OfferCreateは通貨の交換を行う意図を定義するもので、配置時に完全に履行されていない場合はOfferオブジェクトを作成します。オファーは部分的に履行することもできます。

オファーがどのように機能するかについての詳細は、オファーを参照してください。

OfferCreate JSONの例

{
    "TransactionType": "OfferCreate",
    "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
    "Fee": "12",
    "Flags": 0,
    "LastLedgerSequence": 7108682,
    "Sequence": 8,
    "TakerGets": "6000000",
    "TakerPays": {
      "currency": "GKO",
      "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc",
      "value": "2"
    }
}

OfferCreate Fields

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

フィールド JSONの型 内部の型 説明
Expiration 数字 UInt32 (省略可) オファーがアクティブでなくなるまでの時間(Rippleエポック以降の経過秒数)。
OfferSequence 数字 UInt32 (省略可) 最初に削除されるオファー(OfferCancelと同様に指定されます)。
TakerGets 通貨額 Amount オファーの作成者によって作成される金額および通貨の種類。
TakerPays 通貨額 Amount オファーの作成者によって要求される金額および通貨の種類。

OfferCreateフラグ

OfferCreate型のトランザクションについては、Flagsフィールドで以下の値が追加でサポートされます。

フラグ名 16進数 10進数 説明
tfPassive 0x00010000 65536 有効な場合、オファーはオファーが完全に一致するオファーを消費せず、代わりにレジャーのOfferオブジェクトになります。それはまだクロスしたオファーを消費します。
tfImmediateOrCancel 0x00020000 131072 オファーをIOC注文 として扱います。有効な場合、オファーはレジャーオブジェクトにはなりません。レジャー内の既存のオファーと一致させようとするだけです。即時にオファーがどのオファーとも一致しない場合、どの通貨とも取引せずに「正常に」実行します。この場合、トランザクションは tesSUCCESS結果コードを返しますが、レジャー内には、Offerオブジェクトを作成しません。
tfFillOrKill 0x00040000 262144 オファーをFOK注文 として扱います。レジャー内の既存のオファーのみを一致私用とします。またこれは、全TakerPaysの数量が取得できる場合に限られます。fix1578 amendmentが有効な場合でオファーを配置した時に実行できない場合、トランザクションはtecKILLED結果コードを返します。そうでない場合は、トランザクションは、どの通貨とも取り引きせずにキャンセルされた場合でもtesSUCCESSの結果コードを返します。
tfSell 0x00080000 524288 取引所でTakerPays Amountよりも多く取得することになっても、TakerGets Amountを交換します。

次の無効なフラグの組合せは、temINVALID_FLAGエラーを返します。

  • tfImmediateOrCancelとtfFillOrKill