Pular para o conteúdo

PaymentChannelClaim

[Fonte]

Adicionado pela [emenda PayChan][].

O endereço de origem de um canal pode:

  • Enviar Valor do canal para o destino com ou sem uma Reivindicação assinada.
  • Configurar o canal para expirar assim que o SettleDelay do canal tiver passado.
  • Limpar um tempo de Expiration pendente.
  • Fechar um canal imediatamente, com ou sem processar uma reivindicação primeiro. O endereço de origem não pode fechar o canal imediatamente se o canal ainda possui Valor restante.

O endereço de destino de um canal pode:

  • Receber Valor do canal usando uma Reivindicação assinada.
  • Fechar o canal imediatamente após processar uma Reivindicação, devolvendo qualquer Valor não reivindicado à origem do canal.

Qualquer endereço que envie esta transação pode:

  • Causar o fechamento de um canal se seu tempo de Expiration ou CancelAfter for anterior ao tempo de fechamento do ledger anterior. Qualquer transação PaymentChannelClaim válida tem esse efeito independentemente do conteúdo da transação.
{
"Channel": "C1AE6DDDEEC05CF2978C0BAD6FE302948E9533691DC749DCDD3B9E5992CA6198",
"Amount" : {
"currency" : "USD",
"value" : "1",
"issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn"
},
"Signature": "30440220718D264EF05CAED7C781FF6DE298DCAC68D002562C9BF3A07C1E721B420C0DAB02203A5A4779EF4D2CCC7BC3EF886676D803A9981B928D3B8ACA483B80ECA3CD7B9B",
"PublicKey": "32D2471DB72B27E3310F355BB33E339BF26F8392D5A93D3BC0FC3B566612DA0F0A"
}
CampoTipo JSON[Tipo Interno][]Descrição
ChannelStringHash256O ID único do canal, como uma string hexadecimal de 64 caracteres.
BalanceValor em MoedaAmount(Opcional) Valor total entregue por este canal após o processamento desta reivindicação. Necessário para entregar Valor. Deve ser maior que o valor total já entregue pelo canal, mas não superior ao Amount da reivindicação assinada. Deve ser fornecido exceto ao fechar o canal.
AmountValor em MoedaAmount(Opcional) O valor autorizado pela Signature. Deve corresponder ao valor na mensagem assinada. Este é o valor acumulado de Valor que pode ser dispensado pelo canal, incluindo XAH previamente resgatado.
SignatureStringBlob(Opcional) A assinatura desta reivindicação, em hexadecimal. A mensagem assinada contém o ID do canal e o valor da reivindicação. Obrigatório, a menos que o remetente da transação seja o endereço de origem do canal.
PublicKeyStringBlob(Opcional) A chave pública usada para a assinatura, em hexadecimal. Deve corresponder à PublicKey armazenada no ledger para o canal. Obrigatório, a menos que o remetente da transação seja o endereço de origem do canal e o campo Signature seja omitido. (A transação inclui a chave pública para que o rippled possa verificar a validade da assinatura antes de tentar aplicar a transação ao ledger.)

Se o canal de pagamento foi criado antes de a emenda fixPayChanRecipientOwnerDir ser habilitada (em 01/05/2020), é possível que o destino do canal de pagamento tenha sido excluído e não exista atualmente no ledger. Se o destino foi excluído, a conta de origem não pode enviar XAH do canal ao destino; em vez disso, a transação falha com tecNO_DST. (E, claro, a conta excluída não pode enviar nenhuma transação.) Outros usos deste tipo de transação não são afetados quando a conta de destino foi excluída, incluindo o ajuste da expiração do canal, o fechamento de um canal sem Valor, ou a remoção de um canal que passou seu tempo de expiração.

Transações do tipo PaymentChannelClaim suportam valores adicionais no campo Flags, como segue:

Nome da FlagValor HexValor DecimalDescrição
tfRenew0x0001000065536Limpa o tempo de Expiration do canal. (Expiration é diferente do tempo imutável CancelAfter do canal.) Apenas o endereço de origem do canal de pagamento pode usar esta flag.
tfClose0x00020000131072Solicita o fechamento do canal. Apenas os endereços de origem e destino do canal podem usar esta flag. Esta flag fecha o canal imediatamente se não houver mais Valor alocado após o processamento da reivindicação atual, ou se o endereço de destino a utilizar. Se o endereço de origem usar esta flag enquanto o canal ainda possui Valor, isso agenda o fechamento do canal após SettleDelay segundos. (Especificamente, isso define a Expiration do canal como o tempo de fechamento do ledger anterior mais o tempo de SettleDelay do canal, a menos que o canal já tenha um tempo de Expiration anterior.) Se o endereço de destino usar esta flag enquanto o canal ainda possui Valor, qualquer Valor restante após o processamento da reivindicação é devolvido ao endereço de origem.