Saltearse al contenido

Escrow

[Source]

(Añadido por la enmienda [Escrow][].)

El tipo de objeto Escrow representa un pago retenido de XAH o IOU en espera de ser ejecutado o cancelado. Una [transacción EscrowCreate][] crea un objeto Escrow en el ledger. Una [transacción EscrowFinish][] o EscrowCancel exitosa elimina el objeto.

Si el objeto Escrow tiene una cripto-condición, el pago solo puede tener éxito si una transacción EscrowFinish proporciona el correspondiente cumplimiento que satisface la condición. (El único tipo de cripto-condición admitido es PREIMAGE-SHA-256.) Si el objeto Escrow tiene un tiempo FinishAfter, el pago retenido solo puede ejecutarse después de ese tiempo.

Un objeto Escrow está asociado con dos direcciones:

  • El propietario, quien proporciona el XAH o IOU al crear el objeto Escrow. Si el pago retenido es cancelado, el XAH o IOU regresa al propietario.
  • El destino, donde se paga el XAH o IOU cuando el pago retenido tiene éxito. El destino puede ser el mismo que el propietario.
{
"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"Amount": "10000",
"CancelAfter": 545440232,
"Condition": "A0258020A82A88B2DF843A54F58772E4A3861866ECDB4157645DD9AE528C1D3AEEDABAB6810120",
"Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
"DestinationTag": 23480,
"FinishAfter": 545354132,
"Flags": 0,
"LedgerEntryType": "Escrow",
"OwnerNode": "0000000000000000",
"DestinationNode": "0000000000000000",
"PreviousTxnID": "C44F2EB84196B9AD820313DBEBA6316A15C9A2D35787579ED172B87A30131DA7",
"PreviousTxnLgrSeq": 28991004,
"SourceTag": 11747,
"index": "DC5F3851D8A1AB622F957761E5963BC5BD439D5C24AC6AD7AC4523F0640244AC"
}

Un objeto Escrow tiene los siguientes campos:

NombreTipo JSON[Tipo Interno][]¿Requerido?Descripción
AccountStringAccountIDLa dirección del propietario (remitente) de este pago retenido. Esta es la cuenta que proporcionó el monto, y lo recupera si el pago retenido es cancelado.
AmountString or ObjectAmountEl monto a entregar mediante el pago retenido.
CancelAfterNumberUInt32NoEl pago retenido puede cancelarse si y solo si este campo está presente y el tiempo que especifica ha pasado. Específicamente, se especifica como [segundos desde la Época de Ripple][] y “ha pasado” si es anterior al tiempo de cierre del último ledger validado.
ConditionStringBlobNoUna cripto-condición PREIMAGE-SHA-256, en hexadecimal. Si está presente, la [transacción EscrowFinish][] debe contener un cumplimiento que satisfaga esta condición.
DestinationStringAccountIDLa dirección de destino donde se paga el monto si el pago retenido tiene éxito.
DestinationNodeStringUInt64NoUna pista que indica qué página del directorio del propietario del destino enlaza a este objeto, en caso de que el directorio consista de múltiples páginas.
DestinationTagNumberUInt32NoUna etiqueta arbitraria para especificar más el destino de este pago retenido, como un receptor alojado en la dirección de destino.
FinishAfterNumberUInt32NoEl tiempo, en [segundos desde la Época de Ripple][], después del cual este pago retenido puede finalizarse. Cualquier [transacción EscrowFinish][] antes de este tiempo falla.
FlagsNumberUInt32Un mapa de bits de indicadores booleanos habilitados para este objeto. Actualmente, el protocolo no define indicadores para objetos Escrow. El valor es siempre 0.
LedgerEntryTypeStringUInt16El valor 0x0075, mapeado a la cadena Escrow, indica que este objeto es un objeto Escrow.
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.
SourceTagNumberUInt32NoUna etiqueta arbitraria para especificar más la fuente de este pago retenido, como un receptor alojado en la dirección del propietario.
TransferRateNumberUInt32No

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

  • La clave de espacio Escrow (0x0075)
  • El AccountID del remitente de la [transacción EscrowCreate][] que creó el objeto Escrow
  • El número de Secuencia de la [transacción EscrowCreate][] que creó el objeto Escrow. Si la transacción EscrowCreate usó un Ticket, usa el valor TicketSequence en su lugar.