Commit Graph

18093 Commits

Author SHA1 Message Date
yyforyongyu
afc08c6623
sweep: add method isMature on SweeperInput
Also updated `handlePendingSweepsReq` to skip immature inputs so the
returned results are the same as those in pre-0.18.0.
2024-12-20 17:53:59 +08:00
yyforyongyu
ba238962d6
sweep: add method handleBumpEventError and fix markInputFailed
Previously in `markInputFailed`, we'd remove all inputs under the same
group via `removeExclusiveGroup`. This is wrong as when the current
sweep fails for this input, it shouldn't affect other inputs.
2024-12-20 17:53:59 +08:00
yyforyongyu
719ca5b229
sweep: remove redundant error from Broadcast 2024-12-20 17:53:59 +08:00
yyforyongyu
77ff2c0585
sweep: add handleInitialBroadcast to handle initial broadcast
This commit adds a new method `handleInitialBroadcast` to handle the
initial broadcast. Previously we'd broadcast immediately inside
`Broadcast`, which soon will not work after the `blockbeat` is
implemented as the action to publish is now always triggered by a new
block. Meanwhile, we still keep the option to bypass the block trigger
so users can broadcast immediately by setting `Immediate` to true.
2024-12-20 17:53:59 +08:00
yyforyongyu
2479dc7f2e
sweep: handle inputs locally instead of relying on the tx
This commit changes how inputs are handled upon receiving a bump result.
Previously the inputs are taken from the `BumpResult.Tx`, which is now
instead being handled locally as we will remember the input set when
sending the bump request, and handle this input set when a result is
received.
2024-12-20 17:53:59 +08:00
yyforyongyu
d0c7fd8aac
sweep: add new interface method Immediate
This prepares the following commit where we now let the fee bumpr
decides whether to broadcast immediately or not.
2024-12-20 17:53:59 +08:00
yyforyongyu
5f64280df4
sweep: add new error ErrZeroFeeRateDelta 2024-12-20 17:53:59 +08:00
yyforyongyu
6c2e8b9a00
sweep: add new state TxFatal for erroneous sweepings
Also updated the loggings. This new state will be used in the following
commit.
2024-12-20 17:53:58 +08:00
Oliver Gugger
1dfb5a0c20
Merge pull request #9382 from guggero/linter-update
lint: deprecate old linters, use new ref commit
2024-12-20 10:51:08 +01:00
Oliver Gugger
f3ddf4d8ea
.golangci.yml: speed up linter by updating start commit
With this we allow the linter to only look at recent changes, since
everything between that old commit and this most recent one has been
linted correctly anyway.
2024-12-20 10:02:24 +01:00
Oliver Gugger
ad29096aa1
.golangci.yml: turn off deprecated linters
All these linters produced a deprecation warning. They've all been
replaced by new linters, so we can safely turn them off.
2024-12-20 10:01:42 +01:00
Oliver Gugger
03eab4db64
Merge pull request #9377 from alingse/fix-nilnesserr
fix check node1Err !=nil but return a nil value error err
2024-12-20 09:26:38 +01:00
yyforyongyu
1167181d06
workflows: fix no space left error 2024-12-20 14:00:30 +08:00
Oliver Gugger
fd4531c751
Merge pull request #9379 from ziggie1984/release-doc-fix
Correct release notes for 18.4 and 19.0
2024-12-19 20:14:16 +01:00
ziggie
90db546b64
docs: update release-notes
Correct 18.4 release-notes for a change which will only be part
of 19.0.
2024-12-19 18:58:13 +01:00
alingse
a79fd08294 fix check node1Err !=nil but return a nil value error err
Signed-off-by: alingse <alingse@foxmail.com>
2024-12-19 14:57:28 +00:00
Oliver Gugger
2d629174e7
Merge pull request #9376 from yyforyongyu/remove-replace
gomod: remove replaces of `kvdb` and `sqldb`
2024-12-19 13:27:27 +01:00
yyforyongyu
785cef2a96
gomod: remove replace of sqldb and kvdb 2024-12-19 19:02:46 +08:00
Oliver Gugger
29a37d34d1
Merge pull request #9242 from aakselrod/reapply-8644
Reapply #8644
2024-12-19 08:31:59 +01:00
Oliver Gugger
7544a2b232
Merge pull request #9319 from thirdkeyword/master
chore: fix some problematic method name in comment
2024-12-19 08:30:39 +01:00
Oliver Gugger
dac4c1f2d3
Merge pull request #9374 from Crypt-iQ/fn_set_copy
fn: add set copy method Copy
2024-12-19 08:29:02 +01:00
thirdkeyword
4c844bfb77 chore: fix some problematic method name in comment
Signed-off-by: thirdkeyword <fliterdashen@gmail.com>
2024-12-19 13:57:07 +08:00
Eugene Siegel
6fb8269c84 fn: add set copy method Copy 2024-12-18 15:17:23 -05:00
Alex Akselrod
c9d217b144
docs: update release-notes for 0.19.0 2024-12-18 10:13:21 -08:00
Olaoluwa Osuntokun
8ecef03315
Merge pull request #9303 from yyforyongyu/fix-circuit-closed
htlcswitch+routing: handle nil pointer dereference properly
2024-12-17 12:19:32 +01:00
Oliver Gugger
729cd22bf6
Merge pull request #8914 from z017/master
fn: add synchronous write file
2024-12-16 18:39:52 +01:00
z017
0652cbd4a1
fn: add synchronous write file
The fn.WriteFile writes data like os.WriteFile but in sync mode.
Also adds a behaviour flag that enables removal of file on error.

Co-authored-by: Maurice Poirrier Chuden <mauricepoirrier@gmail.com>
Co-authored-by: Greg Weber <1183+gregwebs@users.noreply.github.com>
2024-12-16 11:16:00 -03:00
Oliver Gugger
522bb82755
Merge pull request #9357 from GeorgeTsagk/onchain-htlc-replay-wire-records
contractcourt: include custom records on replayed htlc
2024-12-16 12:50:04 +01:00
George Tsagkarelis
231dd6b464
contractcourt: include custom records on replayed htlc
When notifying the invoice registry for an exit hop htlc we also want to
include its custom records. The channelLink, the other caller of this
method, already populates this field. So we make sure the contest
resolver does so too.
2024-12-16 10:29:27 +01:00
yyforyongyu
7882e1ccff
lnwallet: add debug logs 2024-12-16 16:07:22 +08:00
yyforyongyu
39584be7e1
routing: fix nil pointer dereference in exitWithErr
In a rare case when the critical log is triggered when using postgres as
db backend, the `payment` could be nil cause the server is shutting
down, causing the payment fetching to return an error. We now cache its
state before fetching it from the db.
2024-12-16 16:07:22 +08:00
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
Oliver Gugger
bb9c680a48
Merge pull request #9352 from guggero/update-roasbeef-key
scripts: update Roasbeef's key ID in verify-install.sh
2024-12-13 11:05:39 +01:00
Oliver Gugger
ff14847f30
Merge pull request #9343 from ellemouton/contextGuard
fn: expand the ContextGuard and add tests
2024-12-13 10:25:57 +01:00
Elle Mouton
f99cabf7b4
fn: rework the ContextGuard and add tests
In this commit, the ContextGuard struct is re-worked such that the
context that its new main WithCtx method provides is cancelled in sync
with a parent context being cancelled or with it's quit channel being
cancelled. Tests are added to assert the behaviour. In order for the
close of the quit channel to be consistent with the cancelling of the
derived context, the quit channel _must_ be contained internal to the
ContextGuard so that callers are only able to close the channel via the
exposed Quit method which will then take care to first cancel any
derived context that depend on the quit channel before returning.
2024-12-13 10:44:03 +02:00
Elle Mouton
c2165c4ede
fn: add Guard test helper
Copied from lightninglabs/loop
2024-12-13 10:44:03 +02:00
Alex Akselrod
53d34d2c60
github workflow: save postgres log to zip file 2024-12-12 10:40:40 -08:00
Alex Akselrod
c5d0976375
Makefile: log to file instead of console 2024-12-12 10:40:39 -08:00
Alex Akselrod
68e9aea40d
Makefile: tune params for db-instance for postgres itests 2024-12-12 10:40:38 -08:00
Alex Akselrod
780c271b80
sqldb: improve serialization error handling 2024-12-12 10:40:37 -08:00
Alex Akselrod
c01dcc2be7
graph/db: handle previously-unhandled errors 2024-12-12 10:40:36 -08:00
Alex Akselrod
c29fb81d1b
batch: handle serialization errors correctly 2024-12-12 10:40:36 -08:00
Alex Akselrod
211dd21082
itest: fix flake in multi-hop payments
To make this itest work reliably with multiple parallel SQL
transactions, we need to count both the settle and final HTLC
events. Otherwise, sometimes the final events from earlier
forwards are counted before the forward events from later
forwards, causing a miscount of the settle events. If we
expect both the settle and final event for each forward,
we don't miscount.
2024-12-12 10:40:35 -08:00
Alex Akselrod
a0e5a14574
log: add sub-logger for kvdb/sqlbase 2024-12-12 10:40:34 -08:00
Alex Akselrod
f3bb7095b2
Reapply "kvdb/postgres: remove global application level lock"
This reverts commit 67419a7c0c.
2024-12-12 10:40:33 -08:00
Alex Akselrod
3cebd370de
go.mod: use local kvdb to reapply removal of global postgres lock 2024-12-12 10:40:33 -08:00
Alex Akselrod
bf16b54f87
go.mod: update btcwallet to latest to eliminate waddrmgr deadlock 2024-12-12 10:40:32 -08:00
Oliver Gugger
6298f76aca
Merge pull request #9309 from yyforyongyu/fix-unit-test
chainntnfs: fix `TestHistoricalConfDetailsTxIndex`
2024-12-12 18:01:54 +01:00
Oliver Gugger
55b685dbd7
Merge pull request #9347 from lightningnetwork/cross-compile-fix
build/ci: attempt to fix failing cross compile step
2024-12-12 17:47:50 +01:00
Olaoluwa Osuntokun
78cbed985f
contractcourt: add rapid derived fuzz test for HtlcAuxBlob
In this commit, we add a rapid derived fuzz test for the HtlcAuxBlob
test. This uses the rapid (randomized property testing) into Go's built
in fuzzer. This wrapper will use the fuzz stream, and pass that into
rapid where the stream is used to make structured test inputs which are
tested against the existing properties.

This can be done more widely in the codebase, we pick a simple example
to port first before tackling others.
2024-12-12 16:57:58 +01:00