lnd/htlcswitch
yyforyongyu 944f16255a
htlcswitch: handle nil circuit properly when settling
We have two sources which can call `handlePacketSettle`, either through
the link's `<-s.htlcPlex`, or the `<-s.resolutionMsgs`, which means the
`closeCircuit` could be call twice. Previously we already caught this
case inside `closeCircuit`, in that we would return a nil circuit upon
seeing `ErrUnknownCircuit`, indicating the circuit was removed. However,
we still need to account the case when the circuit is the process of
being closed, which is now fixed as we will ignore when seeing
`ErrCircuitClosing`.
2024-12-16 15:58:23 +08:00
..
hodl multi: add golang 1.17 compatible build tags 2021-09-29 17:31:37 -07:00
hop multi: rename nolint:lll to nolint:ll 2024-12-02 09:14:21 +02:00
testdata multi: update linter, fix new issues 2023-06-13 11:58:33 +02:00
circuit_map_test.go multi: fix fmt.Errorf error wrapping 2024-02-27 11:13:40 +00:00
circuit_map.go multi: add SpewLogClosure to avoid code repetition 2024-07-25 22:18:49 +08:00
circuit_test.go multi: rename chan DB Open method to OpenForTesting 2024-11-28 13:51:15 +02:00
circuit.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
decayedlog_test.go htlcswitch: use T.TempDir to create temporary test directory 2022-08-24 09:03:01 +08:00
decayedlog.go multi: make sure missionControlStore catches done signal 2024-07-23 21:30:08 +08:00
failure_detail.go htlcswitch: add linkError field to htlcpacket 2020-02-06 19:43:29 +02:00
failure_test.go multi: update linter, fix new issues 2023-06-13 11:58:33 +02:00
failure.go htlcswitch: add linkError field to htlcpacket 2020-02-06 19:43:29 +02:00
held_htlc_set_test.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
held_htlc_set.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
htlcnotifier.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
interceptable_switch.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
interfaces.go Merge pull request #9330 from ProofOfKeags/update/fn2 2024-12-09 12:56:23 +01:00
link_isolated_test.go multi: link quit can interrupt commitment signing 2024-10-17 17:35:29 +02:00
link_test.go Merge pull request #9330 from ProofOfKeags/update/fn2 2024-12-09 12:56:23 +01:00
link.go Merge pull request #9330 from ProofOfKeags/update/fn2 2024-12-09 12:56:23 +01:00
linkfailure.go htlcswitch: implement stfu response 2024-11-26 13:51:56 -07:00
log.go multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
mailbox_test.go htlcswitch: pass quit chans as unidirectional 2024-10-17 17:33:15 +02:00
mailbox.go htlcswitch: pass quit chans as unidirectional 2024-10-17 17:33:15 +02:00
mock.go Merge pull request #9330 from ProofOfKeags/update/fn2 2024-12-09 12:56:23 +01:00
packet.go htlcswitch: handle nil circuit properly when settling 2024-12-16 15:58:23 +08:00
payment_result_test.go multi: rename chan DB Open method to OpenForTesting 2024-11-28 13:51:15 +02:00
payment_result.go htlcswitch: rename paymentID to attemptID for clarity 2024-08-07 22:17:58 +08:00
quiescer_test.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
quiescer.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
resolution_store_test.go htlcswitch: use T.TempDir to create temporary test directory 2022-08-24 09:03:01 +08:00
resolution_store.go htlcswitch: introduce resolutionStore to persist cnct messages 2022-04-29 16:40:16 -04:00
sequencer.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
switch_test.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
switch.go htlcswitch: handle nil circuit properly when settling 2024-12-16 15:58:23 +08:00
test_utils.go multi: rename nolint:lll to nolint:ll 2024-12-02 09:14:21 +02:00