Commit graph

120 commits

Author SHA1 Message Date
Boris Nagaev
38b7ecdb9d
loopdb: fix migration 13 for Postgres
Don't copy values of ID column from sweeps to sweeps2 and let it auto-assign
values there. This is needed for the sequencer for that column to be up-to-date
with the values.
2025-04-04 16:31:57 -03:00
Boris Nagaev
c80ebb96e9
sweepbatcher: allow swap_hash to be non-unique
SwapHash used to be a key in the sweeps table. Now the key is outpoint which
replaces columns outpoint_txid and outpoint_index. In-memory structures and unit
tests were also updated to use outpoint as key. Outpoint is truly unique.
2025-04-01 11:11:44 -03:00
Boris Nagaev
2249c41d2f
loopdb: switch to go.etcd.io/bbolt
github.com/coreos/bbolt has race conditions:
https://github.com/golang/go/issues/54690
2025-03-19 15:00:30 +01: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
sputn1ck
40614a2a7a
loopdb: add asset params to store 2025-01-21 18:26:20 +01:00
sputn1ck
1440b6bb1d
loopout: add asset loop out payment flow 2025-01-21 18:26:19 +01:00
Slyghtning
fc6c9f224c
staticaddr: add initiation height of address 2024-12-12 18:31:10 +01:00
Slyghtning
494d0915b0
sqlc: loop-in tables and queries
We add CRU procedures for static address swaps.
2024-12-12 18:31:06 +01:00
Slyghtning
55f7625bc5
sqlc: withdrawal address for deposits
Deposit schema extension with a withdrawal
sweep address. If the user selects a deposit
for withdrawal the destination address of the
sweep is stored here.
2024-12-12 18:31:04 +01:00
Slyghtning
5f4fca8219
sqlc: deposit queries, models and migrations 2024-12-12 18:31:03 +01:00
Slyghtning
ca2ecac3d1
loopdb: static address store 2024-12-12 18:31:01 +01:00
Slyghtning
2c07434a72
sqlc: static address migrations, models, queries 2024-12-12 18:31:00 +01:00
Boris Nagaev
8447f58ff9
multi: do not rename swapserverrpc to looprpc
Many imports renamed it, but it was not needed.
2024-09-10 09:54:17 -03:00
Andras Banki-Horvath
bd5418337c
loopdb: properly lock store mock for concurrent access 2024-09-02 13:35:38 +02:00
drawdrop
b4193dfb28 chore: fix some function names
Signed-off-by: drawdrop <cricis@icloud.com>
2024-08-12 22:59:32 +08:00
Andras Banki-Horvath
6a4ef3683a
sweepbatcher: fix spawning condition "unattached" spend notifiers
Previously, when handling a sweep we assumed that if a sweep status
was completed, the parent batch was also finished. However, since the
batch confirmation status depends on three on-chain confirmations, it
is possible that a spend notifier was started for a sweep of an active
batch. The notifier would fetch the parent batch from the database, but
because we incorrectly assumed that  the parent was confirmed (when it
was not), the DB call would fail with a 'no rows returned' error.
This failure would cause the sweep to fail and the sweep batcher to
stop, resulting in a permanent failure state.
2024-07-11 13:15:39 +02:00
Boris Nagaev
d6aa4fe8a9
loopdb: all BaseDB's methods use receiver name db 2024-06-20 11:58:46 -03:00
Boris Nagaev
4c2d874b8d
loopdb: use passed transaction in ExecTx calls
Some calls used external queries instead of the passed one,
bypassing the transaction.
2024-06-19 10:38:55 -03:00
Boris Nagaev
1947b90842
multi: typed callback in ExecTx
Provide a wrapped store type, exposing ExecTx method with a subset
interface in the callback argument. BaseDB interfaces in instantout,
reservation and sweepbatcher use ExecTx with their subset Querier
instead of whole sqlc.Querier (*sqlc.Queries).

This is needed to make the packages more reusable, so they don't
depend on methods of *sqlc.Queries they don't use.
2024-06-19 10:38:55 -03:00
Boris Nagaev
d341448568
loopdb: fix description of BaseDB.ExecTx 2024-06-19 10:38:55 -03:00
Boris Nagaev
3fd3fab8d1
loopdb: provide function NewSqlWriteOpts
It returns transaction options resulting in full (read+write) tx.

Use it in loopdb and instantout stores.
2024-06-17 12:26:37 -03:00
jinjingroad
12bc3b2e9e chore: fix some comments
Signed-off-by: jinjingroad <jinjingroad@sina.com>
2024-06-05 15:12:47 +08:00
András Bánki-Horváth
55241ffe04
Merge pull request #764 from bhandras/costs-cleanup-migration
loop: add migration to fix stored loop out costs
2024-06-03 16:04:30 +02:00
Andras Banki-Horvath
f40ef193e9
loop: add migration for loopout swaps to fix negative stored costs
Previously we may have stored negative costs for some loop out swaps
which this commit attempts to correct by fetching all completed swap,
calculating the correct costs and overriding them in the database.
2024-06-03 14:54:18 +02:00
Andras Banki-Horvath
c650cdc8a8
loopdb: add ability to track manual migrations 2024-06-03 14:54:18 +02:00
Andras Banki-Horvath
4f5c806ba5
loopdb: add helper methods to update swap costs
This commit adds the necessary sqlc code and SwapStore function to
update swap costs for all swaps in one transaction.
2024-06-03 14:54:18 +02:00
Boris Nagaev
7a7ea05e52
sweepbatcher/Store: do not provide LoopOut field
This data is not used by Batcher since commit
"sweepbatcher: load swap from loopdb, not own store".

Now sweepbatcher.Store depends only on tables sweeps and sweep_batches
and does not depend on swaps, loopout_swaps and htlc_keys, making it
easier to reuse.
2024-05-31 12:28:02 -03:00
Boris Nagaev
c5862898a8
sqlc: remove trailing spaces in queries 2024-05-31 12:28:02 -03:00
Andras Banki-Horvath
939c9b4ccf
loopdb+sweepbatcher: add the DropBatch call 2024-05-24 18:44:04 +02:00
Andras Banki-Horvath
4749c029bb
loopdb: add migraton and DB code to handle payment timeout 2024-05-23 17:17:21 +02:00
Boris Nagaev
e30cb5f2a8
multi: apply make fmt 2024-04-23 15:18:15 -03:00
Andras Banki-Horvath
fb0c7f504e
loopdb: bump sqlc to 1.25.0 2024-03-20 13:57:11 +01:00
András Bánki-Horváth
65b8cb6036
Merge pull request #694 from bhandras/cost-cleanup
loop: fix the loopout per sweep onchain cost and cleanup server cost calculation (both loopin and loopout)
2024-03-05 15:04:27 +01:00
Andras Banki-Horvath
7fe4ee2f3b
loopdb: make sqlite sync for extra durability 2024-03-04 16:23:50 +01:00
Andras Banki-Horvath
b4ebb19a77
loopdb+sweepbatcher: add GetParentBatch and TotalSwept calls 2024-03-04 16:15:21 +01:00
Slyghtning
755d5dc68e
loopd: new loopin state for incorrect amount sweeps 2024-02-13 15:03:03 +01:00
sputn1ck
ee0309f942
instantout: add instantout store 2024-02-06 15:07:57 +01:00
George Tsagkarelis
e0d85958f7
multi: move StoreMock to loopdb 2024-01-23 20:38:06 +02:00
George Tsagkarelis
99608ad515
loopdb+sweepbatcher: add sweepbatcher store 2024-01-23 20:38:06 +02:00
sputn1ck
a29f7e4a6b
loopdb: add reservation sqlc code 2024-01-17 15:59:05 +01:00
Konstantin Nick
9f2bf5ca07
Merge pull request #682 from sputn1ck/fix_faulty_timestamps
Fix faulty timestamps
2024-01-04 15:13:54 +01:00
sputn1ck
d36c154151
loopdb: fix unit test 2024-01-04 15:08:20 +01:00
sputn1ck
57fa22b095
loopdb: remove unused code 2024-01-04 15:08:19 +01:00
elbandi
d6be549e17
loopdb: Fix PublicationDeadline
This commit fixes the publication deadline based on the swaps invoice
timestamp.
2024-01-04 15:07:32 +01:00
bitcoin-lightning
aefabfaeed
fix typo in store.go 2024-01-02 13:04:21 +08:00
bitcoin-lightning
864d4e5cdd
fix typo in sqlite.go 2024-01-02 13:03:38 +08:00
Slyghtning
0bd4b7cf89
loopdb: state insufficient confirmed funds 2023-11-27 13:46:18 +01:00
Slyghtning
0fbf253391
loopdb: abandon swap state 2023-11-24 11:09:54 +01:00
sputn1ck
b8ada0416c
loopdb: fix leapyear parsing 2023-10-31 17:08:51 +01:00