PaymentChannelClaim
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
SettleDelaydo canal tiver passado. - Limpar um tempo de
Expirationpendente. - 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
ExpirationouCancelAfterfor anterior ao tempo de fechamento do ledger anterior. Qualquer transação PaymentChannelClaim válida tem esse efeito independentemente do conteúdo da transação.
Exemplo
Seção intitulada “Exemplo”{ "Channel": "C1AE6DDDEEC05CF2978C0BAD6FE302948E9533691DC749DCDD3B9E5992CA6198", "Amount" : { "currency" : "USD", "value" : "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" }, "Signature": "30440220718D264EF05CAED7C781FF6DE298DCAC68D002562C9BF3A07C1E721B420C0DAB02203A5A4779EF4D2CCC7BC3EF886676D803A9981B928D3B8ACA483B80ECA3CD7B9B", "PublicKey": "32D2471DB72B27E3310F355BB33E339BF26F8392D5A93D3BC0FC3B566612DA0F0A"}| Campo | Tipo JSON | [Tipo Interno][] | Descrição |
|---|---|---|---|
Channel | String | Hash256 | O ID único do canal, como uma string hexadecimal de 64 caracteres. |
Balance | Valor em Moeda | Amount | (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. |
Amount | Valor em Moeda | Amount | (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. |
Signature | String | Blob | (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. |
PublicKey | String | Blob | (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.
Flags de PaymentChannelClaim
Seção intitulada “Flags de PaymentChannelClaim”Transações do tipo PaymentChannelClaim suportam valores adicionais no campo Flags, como segue:
| Nome da Flag | Valor Hex | Valor Decimal | Descrição |
|---|---|---|---|
tfRenew | 0x00010000 | 65536 | Limpa 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. |
tfClose | 0x00020000 | 131072 | Solicita 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. |