htlcswitch: relay experimental endorsement signal with update_add_htlc

This commit is contained in:
Carla Kirk-Cohen committed 2024-11-22 09:16:56 -05:00
1 parent 94f7ed46de
commit 774bfa740a
9 files changed
+134 -11

No files matched your search

+23 -5
View File
@@ -8,11 +8,29 @@ import (
"github.com/lightningnetwork/lnd/tlv"
)
// OnionPacketSize is the size of the serialized Sphinx onion packet included
// in each UpdateAddHTLC message. The breakdown of the onion packet is as
// follows: 1-byte version, 33-byte ephemeral public key (for ECDH), 1300-bytes
// of per-hop data, and a 32-byte HMAC over the entire packet.
const OnionPacketSize = 1366
const (
// OnionPacketSize is the size of the serialized Sphinx onion packet
// included in each UpdateAddHTLC message. The breakdown of the onion
// packet is as follows: 1-byte version, 33-byte ephemeral public key
// (for ECDH), 1300-bytes of per-hop data, and a 32-byte HMAC over the
// entire packet.
OnionPacketSize = 1366
// ExperimentalEndorsementType is the TLV type used for a custom
// record that sets an experimental endorsement value.
ExperimentalEndorsementType tlv.Type = 106823
// ExperimentalUnendorsed is the value that the experimental endorsement
// field contains when a htlc is not endorsed.
ExperimentalUnendorsed = 0
// ExperimentalEndorsed is the value that the experimental endorsement
// field contains when a htlc is endorsed. We're using a single byte
// to represent our endorsement value, but limit the value to using
// the first three bits (max value = 00000111). Interpreted as a uint8
// (an alias for byte in go), we can just define this constant as 7.
ExperimentalEndorsed = 7
)
type (
// BlindingPointTlvType is the type for ephemeral pubkeys used in