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, a OfferCreate transaction uses 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