Commit graph

68 commits

Author SHA1 Message Date
Boris Nagaev
51b74512b8
staticaddr: fix error formatting in the log 2025-06-24 01:44:32 -03:00
Boris Nagaev
61542197f6
staticaddr: use tx hash not *wire.MsgTx as a key
Do not rely on GetActiveDepositsInState reusing the same *wire.MsgTx
pointer for a unique transaction.
2025-06-24 01:44:32 -03:00
Boris Nagaev
38aaa4d07a
staticaddr: recover withdrawals in parallel
Use errgroup to publish each transaction in a separate goroutine.
Publishing a transaction can take a while in neutrino mode.
2025-06-24 01:44:32 -03:00
Boris Nagaev
3ed8c7a9fc
staticaddr/withdraw: log PublishTransaction start 2025-06-24 01:44:32 -03:00
Boris Nagaev
cc5113da0a
staticaddr: remove an unused interface method 2025-06-24 01:44:32 -03:00
Slyghtning
d526192de7
staticaddr: thread-safe loop-in recovery 2025-06-23 11:00:06 +02:00
Slyghtning
3963bad3a1
staticaddr: remove duplicate deposit finalize method 2025-06-23 11:00:06 +02:00
Slyghtning
c579a3e933
staticaddr: fix deposit recovery deadlock 2025-06-23 10:35:16 +02:00
Slyghtning
13247c4651
staticaddr: wait for address manager initiation 2025-06-13 15:37:38 +02:00
Slyghtning
5718f11162
staticaddr: store historic withdrawal info 2025-06-10 17:07:30 +02:00
Slyghtning
b780a9ae91
staticaddr: simplify handleWithdrawal 2025-05-28 11:58:02 +02:00
Slyghtning
cf0651af38
staticaddr: add expiry to NewAddress response 2025-05-15 14:56:49 +02:00
Boris Nagaev
9f971cd371
staticaddr: fix crash in loop-in manager shutdown
If the notification manager shuts down, sweepReqs channel is closed and sweepReq
object received from it becomes nil, causing panic in handleLoopInSweepReq. Now
this is fixed by checking if the channel was closed and if it was shutting down
loop-in manager itself.
2025-05-13 19:21:57 -03:00
Boris Nagaev
4e4390416b
staticaddr: fix logs, use %v not %w in logs 2025-05-13 11:49:50 -03:00
Slyghtning
b5af507c6b
staticaddr: don't ignore output-already-spent publish error 2025-04-28 19:43:29 +02:00
Slyghtning
ff44b3b640
staticaddr: log deposit state transition only if executed 2025-04-28 19:43:29 +02:00
Slyghtning
82e34a6d5e
staticaddr: allow rbf'ing withdrawal transactions 2025-04-28 19:43:28 +02:00
Boris Nagaev
1af9cb793b
staticaddr: don't rename swapserverrpc to looprpc 2025-04-24 11:19:59 -03:00
Boris Nagaev
6d3f65a0f2
looprpc: rename field in WithdrawDepositsResponse
It returns an address, but the field was called pk_script, which was confusing.
Also renamed it in the code.
2025-04-24 11:19:59 -03:00
Slyghtning
8401ca58be
staticaddr: non-concurrent deposit recovery 2025-03-26 15:33:19 +01:00
Slyghtning
cecb24c673
Merge pull request #902 from hieblmi/fix-deadlock
staticaddr: lock mutex for active deposits access
2025-03-21 14:53:38 +01:00
Slyghtning
679ba13608
staticaddr: don't lock active deposits across state transition 2025-03-21 11:17:57 +01:00
Boris Nagaev
e704119f14
deposit: fix sending to finalizedDepositChan 2025-03-21 10:30:41 +01:00
Slyghtning
484681ab45
staticaddr: quit deposit fsm handler when finialized 2025-03-21 10:30:39 +01:00
Boris Nagaev
dc4a5641ac
multi: initialize block height in New, not in Run
If Run sets the current height field, it is technically a race between Run and
other methods reading the field. Setting in New is a safer option.

Removed a check that height is not 0 from static address manager.
2025-03-19 15:00:31 +01:00
Boris Nagaev
4c292f179f
staticaddr: fix race conditions in current height
Make the current height an atomic variable in staticaddr/address/manager.go and
in staticaddr/withdraw/manager.go.
Removed the initiation height from staticaddr/deposit/manager.go (not needed).
2025-03-19 15:00:30 +01:00
Boris Nagaev
c2dddf0dfe
loopin: use context.WithoutCancel in cleanup
Ensure that MuSig2 cleanup does happen even if a context expires.
2025-03-16 18:21:32 -03:00
Oliver Gugger
65251e8821
multi: update linter, fix issues 2025-03-10 22:59:50 +01:00
Oliver Gugger
722ad8839d
multi: update lnd compile-time dependency to v0.19.0 2025-03-10 22:59:49 +01:00
Slyghtning
c1c809d729
staticaddr: re-add feeRate to withdrawal request 2025-03-03 16:17:38 +01:00
Slyghtning
2622882d76
staticaddr: arbitrary withdrawal amount 2025-02-09 15:57:24 +01:00
sputn1ck
51bdf040e3
loopins: add private flag when creating invoice 2025-01-21 18:26:20 +01:00
Slyghtning
acea303178
staticaddr: check dust limits before withdrawing 2024-12-16 11:37:48 +01:00
Slyghtning
fc6c9f224c
staticaddr: add initiation height of address 2024-12-12 18:31:10 +01:00
Slyghtning
042b513d50
staticaddr: dest addr and fee rate for withdrawals 2024-12-12 18:31:10 +01:00
sputn1ck
115558bed5
staticaddr/loopin: remove unused code 2024-12-12 18:31:09 +01:00
sputn1ck
3f6759c0d4
staticaddr/loopin: update fsm for server ntfn sigs
This commit updates the loop in FSM to handle the new server based
2024-12-12 18:31:09 +01:00
sputn1ck
099e98005c
staticaddr/loopin: add listening for sweep request
This commit adds the listening for sweep requests from the server.
On a sweep request the loopin manager will fetch the loop in from the
db, do sanity and safety checks and then sign the psbt for the input
and send it back to the server.
2024-12-12 18:31:09 +01:00
sputn1ck
409b2e9929
staticaddr/sql_store: Add fetching loop in by hash 2024-12-12 18:31:09 +01:00
Slyghtning
ed1585de60
staticaddr: fix fsm logging 2024-12-12 18:31:08 +01:00
Slyghtning
e3e56ecc70
staticaddr: change min deposit confs from 3 to 6 2024-12-12 18:31:08 +01:00
Slyghtning
439d178b96
staticaddr: cmd listdeposits and listswaps 2024-12-12 18:31:08 +01:00
Slyghtning
f8535a0aea
unit: manager mocks for static address loop-in 2024-12-12 18:31:07 +01:00
Slyghtning
9a2270eb18
staticaddr: swap manager and fsm
In this commit we add the static address
loop-in state machine and its orchestration
through the manager.
2024-12-12 18:31:07 +01:00
Slyghtning
e7c3717886
staticaddr: sql_store 2024-12-12 18:31:07 +01:00
Slyghtning
1e3f75bb4e
staticaddr: loopin 2024-12-12 18:31:07 +01:00
Slyghtning
c11e90138b
staticaddr: enable deposits for swaps
The static address state machine adds states
to reflect the state of a deposit during a
loop-in swap.
2024-12-12 18:31:06 +01:00
Slyghtning
3894370302
log: static address loop-in logging 2024-12-12 18:31:06 +01:00
Slyghtning
ea2b3c84f0
staticaddr: expose static address to client summary 2024-12-12 18:31:05 +01:00
Slyghtning
3dca1537c3
staticaddr: withdrawal manager and interface 2024-12-12 18:31:05 +01:00