lnd/lnwire
Olaoluwa Osuntokun 7feb8b21e1
multi: upgrade new taproot TLVs to use tlv.OptionalRecordT
In this commit, we update new Taproot related TLVs (nonces, partial sig,
sig with nonce, etc). Along the way we were able to get rid of some
boiler plate, but most importantly, we're able to better protect against
API misuse (using a nonce that isn't initialized, etc) with the new
options API. In some areas this introduces a bit of extra boiler plate,
and where applicable I used some new helper functions to help cut down
on the noise.

Note to reviewers: this is done as a single commit, as changing the API
breaks all callers, so if we want things to compile it needs to be in a
wumbo commit.
2024-02-29 11:32:26 -06:00
..
accept_channel.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
accept_channel_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
announcement_signatures.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
channel_announcement.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
channel_id.go lnwire: fixing buffer size and cleaning up uint16/32 conversion 2019-12-05 16:28:25 +01:00
channel_id_test.go lnwire: fix minor typo in tests 2017-09-18 19:46:16 +02:00
channel_ready.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
channel_reestablish.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
channel_type.go lnwire: introduce new explicit ChannelType TLV record 2021-08-30 19:17:19 -07:00
channel_type_test.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
channel_update.go multi: rename due to required maxHTLC bit 2023-02-21 11:10:39 +01:00
closing_complete.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
closing_sig.go lnwire: add new closing_complete and closing_sig messages 2024-02-05 16:30:23 -08:00
closing_signed.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
commit_sig.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
custom.go lnwire: allow overriding of protocol messages outside of custom range 2023-01-05 12:05:04 -05:00
dyn_ack.go lnwire: add musig2 taproot execution messages for dynamic commitments 2023-11-10 13:29:52 -08:00
dyn_propose.go lnwire: introduce message types for dynamic commitment negotiation 2023-11-10 13:29:30 -08:00
dyn_reject.go lnwire: introduce message types for dynamic commitment negotiation 2023-11-10 13:29:30 -08:00
encoding.go lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding 2023-12-11 09:12:04 +02:00
error.go funding+lnwire: remove ErrSynchronizingChain 2022-10-28 10:06:59 -05:00
extra_bytes.go lnwire: sort records in ExtractRecords 2023-08-22 16:29:47 -07:00
extra_bytes_test.go multi: move many t.Fatalf calls to require.NoError 2022-06-17 04:26:55 +00:00
features.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
features_test.go multi: add restriction on maximum feature bit in invoices 2023-05-04 10:35:45 -04:00
funding_created.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
funding_signed.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
fuzz_test.go lnwire: add fuzz tests for ClosingComplete+ClosingSigs 2024-02-05 16:30:26 -08:00
gossip_timestamp_range.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
init_message.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
kickoff_sig.go lnwire: add musig2 taproot execution messages for dynamic commitments 2023-11-10 13:29:52 -08:00
lnwire.go lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding 2023-12-11 09:12:04 +02:00
lnwire_test.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
message.go lnwire: add new closing_complete and closing_sig messages 2024-02-05 16:30:23 -08:00
message_test.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
msat.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
msat_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
musig2.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
netaddress.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
netaddress_test.go multi: move many t.Fatalf calls to require.NoError 2022-06-17 04:26:55 +00:00
node_announcement.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
node_announcement_test.go lnwire: add test cases for node alias validation 2019-01-07 12:53:40 -08:00
onion_error.go multi: fix fmt.Errorf error wrapping 2024-02-27 11:13:40 +00:00
onion_error_test.go lnwire: add invalid onion blinding error code 2023-12-12 09:44:05 -05:00
opaque_addrs.go lnwire: add new type OpaqueAddrs 2022-05-04 11:06:11 +02:00
open_channel.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
partial_sig.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
ping.go lnwire+peer: clamp pong bytes, make ping handler more effcieint 2022-01-13 15:01:18 -08:00
pong.go lnwire+peer: clamp pong bytes, make ping handler more effcieint 2022-01-13 15:01:18 -08:00
query_channel_range.go lnwire: add QueryOptions to QueryChannelRange 2023-12-11 09:12:04 +02:00
query_channel_range_test.go lnwire: add QueryOptions to QueryChannelRange 2023-12-11 09:12:04 +02:00
query_options.go lnwire: add QueryOptions type 2023-12-11 09:12:03 +02:00
query_short_chan_ids.go multi: fix fmt.Errorf error wrapping 2024-02-27 11:13:40 +00:00
query_short_chan_ids_test.go lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding 2023-12-11 09:12:04 +02:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
reply_channel_range.go lnwire: add timestamps to ReplyChannelRange msg 2023-12-11 09:12:04 +02:00
reply_channel_range_test.go lnwire: add timestamps to ReplyChannelRange msg 2023-12-11 09:12:04 +02:00
reply_short_chan_ids_end.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
revoke_and_ack.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
short_channel_id.go invoicesrpc: refactor addinvocie hop hint selection 2022-09-30 06:55:10 -07:00
short_channel_id_test.go lnwire: add alias to FundingLocked in TLV 2022-07-07 17:10:27 -04:00
shutdown.go multi: upgrade new taproot TLVs to use tlv.OptionalRecordT 2024-02-29 11:32:26 -06:00
signature.go lnwire: add Record() method to lnwire.Sig 2024-02-05 16:30:16 -08:00
signature_test.go lnwire: TestLightningWireProtocol quick check tests for taproot fields 2023-08-22 16:29:49 -07:00
timestamps.go lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding 2023-12-11 09:12:04 +02:00
typed_delivery_addr.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
typed_delivery_addr_test.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
typed_lease_expiry.go lnwire: add LeaseExpiry custom record for Open+AcceptChannel 2021-10-19 18:30:17 -07:00
typed_lease_expiry_test.go lnwire: add LeaseExpiry custom record for Open+AcceptChannel 2021-10-19 18:30:17 -07:00
update_add_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fail_htlc.go multi: typo fixes [skip ci] 2022-05-03 20:55:40 +00:00
update_fail_malformed_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fee.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fulfill_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
warning.go multi: update linter, fix new issues 2023-06-13 11:58:33 +02:00
writer.go lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding 2023-12-11 09:12:04 +02:00
writer_test.go lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding 2023-12-11 09:12:04 +02:00

lnwire

Build Status MIT licensed GoDoc

The lnwire package implements the Lightning Network wire protocol.

This package has intentionally been designed so it can be used as a standalone package for any projects needing to interface with lightning peers at the wire protocol level.

Installation and Updating

$  go get -u github.com/lightningnetwork/lnd/lnwire