PaymentChannelClaim
Claim Amount from a payment channel, adjust the payment channel's expiration, or both. This transaction can be used differently depending on the transaction sender's role in the specified channel:
Added by the [PayChan amendment][].
The source address of a channel can:
Send Amount from the channel to the destination with or without a signed Claim.
Set the channel to expire as soon as the channel's
SettleDelay
has passed.Clear a pending
Expiration
time.Close a channel immediately, with or without processing a claim first. The source address cannot close the channel immediately if the channel has Amount remaining.
The destination address of a channel can:
Receive Amount from the channel using a signed Claim.
Close the channel immediately after processing a Claim, refunding any unclaimed Amount to the channel's source.
Any address sending this transaction can:
Cause a channel to be closed if its
Expiration
orCancelAfter
time is older than the previous ledger's close time. Any validly-formed PaymentChannelClaim transaction has this effect regardless of the contents of the transaction.
Example
Field | JSON Type | [Internal Type][] | Description |
---|---|---|---|
| String | Hash256 | The unique ID of the channel, as a 64-character hexadecimal string. |
| Amount | (Optional) Total amount delivered by this channel after processing this claim. Required to deliver Amount. Must be more than the total amount delivered by the channel so far, but not greater than the | |
| Amount | (Optional) The amount authorized by the | |
| String | Blob | (Optional) The signature of this claim, as hexadecimal. The signed message contains the channel ID and the amount of the claim. Required unless the sender of the transaction is the source address of the channel. |
| String | Blob | (Optional) The public key used for the signature, as hexadecimal. This must match the |
If the payment channel was created before the fixPayChanRecipientOwnerDir amendment became enabled (on 2020-05-01), it is possible that the destination of the payment channel has been deleted and does not currently exist in the ledger. If the destination has been deleted, the source account cannot send XAH from the channel to the destination; instead, the transaction fails with tecNO_DST
. (And, of course, the deleted account cannot send any transactions at all.) Other uses of this transaction type are unaffected when the destination account has been deleted, including adjusting the channel expiration, closing a channel with no Amount, or removing a channel that has passed its expiration time.
PaymentChannelClaim Flags
Transactions of the PaymentChannelClaim type support additional values in the Flags
field, as follows:
Flag Name | Hex Value | Decimal Value | Description |
---|---|---|---|
|
| 65536 | Clear the channel's |
|
| 131072 | Request to close the channel. Only the channel source and destination addresses can use this flag. This flag closes the channel immediately if it has no more Amount allocated to it after processing the current claim, or if the destination address uses it. If the source address uses this flag when the channel still holds an Amount, this schedules the channel to close after |
Last updated