lnrpc: add first hop custom records to RPC payment info

This commit is contained in:
Oliver Gugger 2024-08-30 13:11:22 +02:00
parent 1b31835230
commit afdceab400
No known key found for this signature in database
GPG Key ID: 8E4256593F177720
5 changed files with 1275 additions and 1229 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4162,6 +4162,12 @@ message Payment {
uint64 payment_index = 15;
PaymentFailureReason failure_reason = 16;
/*
The custom TLV records that were sent to the first hop as part of the HTLC
wire message for this payment.
*/
map<uint64, bytes> first_hop_custom_records = 17;
}
message HTLCAttempt {

View File

@ -6417,6 +6417,14 @@
},
"failure_reason": {
"$ref": "#/definitions/lnrpcPaymentFailureReason"
},
"first_hop_custom_records": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "byte"
},
"description": "The custom TLV records that were sent to the first hop as part of the HTLC\nwire message for this payment."
}
}
},

View File

@ -1095,6 +1095,14 @@
},
"failure_reason": {
"$ref": "#/definitions/lnrpcPaymentFailureReason"
},
"first_hop_custom_records": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "byte"
},
"description": "The custom TLV records that were sent to the first hop as part of the HTLC\nwire message for this payment."
}
}
},

View File

@ -1682,21 +1682,22 @@ func (r *RouterBackend) MarshallPayment(payment *channeldb.MPPayment) (
return &lnrpc.Payment{
// TODO: set this to setID for AMP-payments?
PaymentHash: hex.EncodeToString(paymentID[:]),
Value: satValue,
ValueMsat: msatValue,
ValueSat: satValue,
CreationDate: payment.Info.CreationTime.Unix(),
CreationTimeNs: creationTimeNS,
Fee: int64(fee.ToSatoshis()),
FeeSat: int64(fee.ToSatoshis()),
FeeMsat: int64(fee),
PaymentPreimage: hex.EncodeToString(preimage[:]),
PaymentRequest: string(payment.Info.PaymentRequest),
Status: status,
Htlcs: htlcs,
PaymentIndex: payment.SequenceNum,
FailureReason: failureReason,
PaymentHash: hex.EncodeToString(paymentID[:]),
Value: satValue,
ValueMsat: msatValue,
ValueSat: satValue,
CreationDate: payment.Info.CreationTime.Unix(),
CreationTimeNs: creationTimeNS,
Fee: int64(fee.ToSatoshis()),
FeeSat: int64(fee.ToSatoshis()),
FeeMsat: int64(fee),
PaymentPreimage: hex.EncodeToString(preimage[:]),
PaymentRequest: string(payment.Info.PaymentRequest),
Status: status,
Htlcs: htlcs,
PaymentIndex: payment.SequenceNum,
FailureReason: failureReason,
FirstHopCustomRecords: payment.Info.FirstHopCustomRecords,
}, nil
}