Saltearse al contenido

Offer

[Source]

La entrada del ledger Offer describe una Oferta para intercambiar monedas en el intercambio descentralizado de Xahau. (En finanzas, esto se conoce más tradicionalmente como una orden.) Una [transacción OfferCreate][] solo crea una entrada Offer en el ledger cuando la Oferta no puede ejecutarse completamente de inmediato consumiendo otras Ofertas ya existentes en el ledger.

Una Oferta puede quedar sin fondos a través de otras actividades en la red mientras permanece en el ledger. Al procesar transacciones, la red automáticamente elimina cualquier Oferta sin fondos que esas transacciones encuentren.

{
"Account": "rBqb89MRQJnMPq8wTwEbtz4kvxrEDfcYvt",
"BookDirectory": "ACC27DE91DBA86FC509069EAF4BC511D73128B780F2E54BF5E07A369E2446000",
"BookNode": "0000000000000000",
"Flags": 131072,
"LedgerEntryType": "Offer",
"OwnerNode": "0000000000000000",
"PreviousTxnID": "F0AB71E777B2DA54B86231E19B82554EF1F8211F92ECA473121C655BFC5329BF",
"PreviousTxnLgrSeq": 14524914,
"Sequence": 866,
"TakerGets": {
"currency": "XAG",
"issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH",
"value": "37"
},
"TakerPays": "79550000000",
"index": "96F76F27D8A327FC48753167EC04A46AA0E382E6F57F32FD12274144D00F1797"
}

Un objeto Offer tiene los siguientes campos:

NombreTipo JSON[Tipo Interno][]¿Requerido?Descripción
AccountStringAccountIDLa dirección de la cuenta que posee esta Oferta.
BookDirectoryStringHash256El ID del Directorio de Oferta que enlaza a esta Oferta.
BookNodeStringUInt64Una pista que indica qué página del directorio de oferta enlaza a este objeto, en caso de que el directorio consista de múltiples páginas.
ExpirationNumberUInt32NoIndica el tiempo después del cual esta Oferta se considera sin fondos. Consulta [Especificando Tiempo][] para detalles.
FlagsNumberUInt32Un mapa de bits de indicadores booleanos habilitados para esta oferta.
LedgerEntryTypeStringUInt16El valor 0x006F, mapeado a la cadena Offer, indica que este objeto describe una Oferta.
OwnerNodeStringUInt64Una pista que indica qué página del directorio del propietario enlaza a este objeto, en caso de que el directorio consista de múltiples páginas.
PreviousTxnIDStringHash256El hash identificador de la transacción que modificó más recientemente este objeto.
PreviousTxnLgrSeqNumberUInt32El [índice del ledger][Ledger Index] que contiene la transacción que modificó más recientemente este objeto.
SequenceNumberUInt32El valor Sequence de la transacción OfferCreate que creó este objeto Offer. Se usa en combinación con Account para identificar esta Oferta.
TakerPaysString or ObjectAmountEl monto restante y el tipo de moneda solicitados por el creador de la Oferta.
TakerGetsString or ObjectAmountEl monto restante y el tipo de moneda proporcionados por el creador de la Oferta.

Hay varias opciones que pueden habilitarse o deshabilitarse cuando una [transacción OfferCreate][] crea un objeto de oferta. En el ledger, los indicadores se representan como valores binarios que pueden combinarse con operaciones OR bit a bit. Los indicadores del ledger tienen nombres que comienzan con lsf.

Los objetos Offer pueden tener los siguientes valores de indicador:

Nombre del IndicadorValor HexValor DecimalIndicador OfferCreate CorrespondienteDescripción
lsfPassive0x0001000065536tfPassiveEl objeto fue colocado como una Oferta pasiva. Esto no tiene efecto sobre el objeto en el ledger.
lsfSell0x00020000131072tfSellEl objeto fue colocado como una Oferta de venta. Esto no tiene efecto sobre el objeto en el ledger (porque tfSell solo importa si obtienes una tasa mejor de la que pediste, lo cual no puede suceder después de que el objeto entra en el ledger).

El ID de un objeto Offer es el SHA-512Half de los siguientes valores, concatenados en orden:

  • La clave de espacio Offer (0x006F)
  • El AccountID de la cuenta que coloca la Oferta
  • El número de Secuencia de la [transacción OfferCreate][] que creó la Oferta. Si la transacción OfferCreate usó un Ticket, usa el valor TicketSequence en su lugar.