Pular para o conteúdo

Escrow

[Fonte]

(Adicionado pela [emenda Escrow][].)

O tipo de objeto Escrow representa um pagamento retido em XAH ou IOU aguardando execução ou cancelamento. Uma [transação EscrowCreate][] cria um objeto Escrow no ledger. Uma transação EscrowFinish ou EscrowCancel bem-sucedida exclui o objeto.

Se o objeto Escrow tiver uma crypto-condition, o pagamento só pode ser concluído se uma transação EscrowFinish fornecer o fulfillment correspondente que satisfaça a condição. (O único tipo de crypto-condition suportado é o PREIMAGE-SHA-256.) Se o objeto Escrow tiver um tempo FinishAfter, o pagamento retido só pode ser executado após esse momento.

Um objeto Escrow está associado a dois endereços:

  • O proprietário, que fornece o XAH ou IOU ao criar o objeto Escrow. Se o pagamento retido for cancelado, o XAH ou IOU retorna ao proprietário.
  • O destino, para onde o XAH ou IOU é pago quando o pagamento retido é bem-sucedido. O destino pode ser o mesmo que o proprietário.
{
"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"
}

Um objeto Escrow tem os seguintes campos:

NomeTipo JSON[Tipo Interno][]Obrigatório?Descrição
AccountStringAccountIDSimO endereço do proprietário (remetente) deste pagamento retido. Esta é a conta que forneceu o valor e o recupera se o pagamento retido for cancelado.
AmountString ou ObjectAmountSimO valor a ser entregue pelo pagamento retido.
CancelAfterNumberUInt32NãoO pagamento retido pode ser cancelado se e somente se este campo estiver presente e o tempo que especifica tiver passado. Especificamente, isso é especificado como [segundos desde a Época Ripple][] e “passou” se for anterior ao horário de fechamento do ledger validado anterior.
ConditionStringBlobNãoUma crypto-condition PREIMAGE-SHA-256, em hexadecimal. Se presente, a [transação EscrowFinish][] deve conter um fulfillment que satisfaça essa condição.
DestinationStringAccountIDSimO endereço de destino para onde o valor é pago se o pagamento retido for bem-sucedido.
DestinationNodeStringUInt64NãoUma dica indicando qual página do diretório do proprietário do destino aponta para este objeto, caso o diretório consista em múltiplas páginas. Omitido em escrows criados antes de habilitar a [emenda fix1523][].
DestinationTagNumberUInt32NãoUma tag arbitrária para especificar melhor o destino deste pagamento retido, como um destinatário hospedado no endereço de destino.
FinishAfterNumberUInt32NãoO tempo, em [segundos desde a Época Ripple][], após o qual este pagamento retido pode ser finalizado. Qualquer [transação EscrowFinish][] antes deste horário falha. (Especificamente, isso é comparado com o horário de fechamento do ledger validado anterior.)
FlagsNumberUInt32SimUm mapa de bits de flags booleanos habilitados para este objeto. Atualmente, o protocolo não define flags para objetos Escrow. O valor é sempre 0.
LedgerEntryTypeStringUInt16SimO valor 0x0075, mapeado para a string Escrow, indica que este objeto é um objeto Escrow.
OwnerNodeStringUInt64SimUma dica indicando qual página do diretório do proprietário aponta para este objeto, caso o diretório consista em múltiplas páginas. Nota: O objeto não contém um link direto para o diretório do proprietário que o contém, pois esse valor pode ser derivado de Account.
PreviousTxnIDStringHash256SimO hash identificador da transação que mais recentemente modificou este objeto.
PreviousTxnLgrSeqNumberUInt32SimO [índice do ledger][Índice de Ledger] que contém a transação que mais recentemente modificou este objeto.
SourceTagNumberUInt32NãoUma tag arbitrária para especificar melhor a origem deste pagamento retido, como um destinatário hospedado no endereço do proprietário.
TransferRateNumberUInt32Não

O ID de um objeto Escrow é o SHA-512Half dos seguintes valores, concatenados em ordem:

  • A chave de espaço Escrow (0x0075)
  • O AccountID do remetente da [transação EscrowCreate][] que criou o objeto Escrow
  • O número de Sequência da [transação EscrowCreate][] que criou o objeto Escrow. Se a transação EscrowCreate usou um Ticket, use o valor TicketSequence em vez disso.