record

package
v0.17.5-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AmtOnionType is the type used in the onion to reference the amount to
	// send to the next hop.
	AmtOnionType tlv.Type = 2

	// LockTimeTLV is the type used in the onion to reference the CLTV
	// value that should be used for the next hop's HTLC.
	LockTimeOnionType tlv.Type = 4

	// NextHopOnionType is the type used in the onion to reference the ID
	// of the next hop.
	NextHopOnionType tlv.Type = 6

	// MetadataOnionType is the type used in the onion for the payment
	// metadata.
	MetadataOnionType tlv.Type = 16
)
View Source
const AMPOnionType tlv.Type = 14

AMPOnionType is the type used in the onion to reference the AMP fields: root_share, set_id, and child_index.

View Source
const (
	// CustomTypeStart is the start of the custom tlv type range as defined
	// in BOLT 01.
	CustomTypeStart = 65536
)
View Source
const (
	// KeySendType is the custom record identifier for keysend preimages.
	KeySendType uint64 = 5482373484
)
View Source
const MPPOnionType tlv.Type = 8

MPPOnionType is the type used in the onion to reference the MPP fields: total_amt and payment_addr.

Variables

This section is empty.

Functions

func AMPDecoder

func AMPDecoder(r io.Reader, val interface{}, buf *[8]byte, l uint64) error

AMPDecoder reads the AMP record from the provided io.Reader.

func AMPEncoder

func AMPEncoder(w io.Writer, val interface{}, buf *[8]byte) error

AMPEncoder writes the AMP record to the provided io.Writer.

func MPPDecoder

func MPPDecoder(r io.Reader, val interface{}, buf *[8]byte, l uint64) error

MPPDecoder reads the MPP record to the provided io.Reader.

func MPPEncoder

func MPPEncoder(w io.Writer, val interface{}, buf *[8]byte) error

MPPEncoder writes the MPP record to the provided io.Writer.

func NewAmtToFwdRecord

func NewAmtToFwdRecord(amt *uint64) tlv.Record

NewAmtToFwdRecord creates a tlv.Record that encodes the amount_to_forward (type 2) for an onion payload.

func NewLockTimeRecord

func NewLockTimeRecord(lockTime *uint32) tlv.Record

NewLockTimeRecord creates a tlv.Record that encodes the outgoing_cltv_value (type 4) for an onion payload.

func NewMetadataRecord

func NewMetadataRecord(metadata *[]byte) tlv.Record

NewMetadataRecord creates a tlv.Record that encodes the metadata (type 10) for an onion payload.

func NewNextHopIDRecord

func NewNextHopIDRecord(cid *uint64) tlv.Record

NewNextHopIDRecord creates a tlv.Record that encodes the short_channel_id (type 6) for an onion payload.

Types

type AMP

type AMP struct {
	// contains filtered or unexported fields
}

AMP is a record that encodes the fields necessary for atomic multi-path payments.

func NewAMP

func NewAMP(rootShare, setID [32]byte, childIndex uint32) *AMP

NewAMP generate a new AMP record with the given root_share, set_id, and child_index.

func (*AMP) ChildIndex

func (a *AMP) ChildIndex() uint32

ChildIndex returns the child index contained in the AMP record.

func (*AMP) PayloadSize

func (a *AMP) PayloadSize() uint64

PayloadSize returns the size this record takes up in encoded form.

func (*AMP) Record

func (a *AMP) Record() tlv.Record

Record returns a tlv.Record that can be used to encode or decode this record.

func (*AMP) RootShare

func (a *AMP) RootShare() [32]byte

RootShare returns the root share contained in the AMP record.

func (*AMP) SetID

func (a *AMP) SetID() [32]byte

SetID returns the set id contained in the AMP record.

func (*AMP) String

func (a *AMP) String() string

String returns a human-readable description of the amp payload fields.

type CustomSet

type CustomSet map[uint64][]byte

CustomSet stores a set of custom key/value pairs.

func (CustomSet) Validate

func (c CustomSet) Validate() error

Validate checks that all custom records are in the custom type range.

type MPP

type MPP struct {
	// contains filtered or unexported fields
}

MPP is a record that encodes the fields necessary for multi-path payments.

func NewMPP

func NewMPP(total lnwire.MilliSatoshi, addr [32]byte) *MPP

NewMPP generates a new MPP record with the given total and payment address.

func (*MPP) PayloadSize

func (r *MPP) PayloadSize() uint64

PayloadSize returns the size this record takes up in encoded form.

func (*MPP) PaymentAddr

func (r *MPP) PaymentAddr() [32]byte

PaymentAddr returns the payment address contained in the MPP record.

func (*MPP) Record

func (r *MPP) Record() tlv.Record

Record returns a tlv.Record that can be used to encode or decode this record.

func (*MPP) String

func (r *MPP) String() string

String returns a human-readable representation of the mpp payload field.

func (*MPP) TotalMsat

func (r *MPP) TotalMsat() lnwire.MilliSatoshi

TotalMsat returns the total value of an MPP payment in msats.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL