2
0
mirror of https://github.com/lightninglabs/loop synced 2024-11-08 01:10:29 +00:00
Commit Graph

1146 Commits

Author SHA1 Message Date
Andras Banki-Horvath
cd91f90ed2
loop: use MuSig2 1.0 scheme for the new MuSig2 swaps 2023-03-20 20:08:43 +01:00
Andras Banki-Horvath
b47f67a6de
loopin: push the htlc internal key if the invoice is swept
This commit adds key reveal to MuSig2 loopin swaps' success path. In
this case the client reveals their internal HTLC key to the server when
the swap invoice is settled. With this key the server can sweep the swap
HTLC without any more interaction from the client. We'll do this every
block (after the invoice has been settled).
2023-03-20 20:08:43 +01:00
Andras Banki-Horvath
90ae922adf
loopin: generate and send internal key for MuSig2 swaps
This commit changes how we create loopin swaps if the client activates
the experimental MuSig2 features. When creating a new loopin swap the
client will create (and store) a new key that will be used as the
sender's internal key when constructing the HTLC. The client will send
the public part to the server and will also receive (and store) the
server's (receiver) internal public key.
2023-03-20 20:08:43 +01:00
Andras Banki-Horvath
da4bcbea10
loopdb: refactor the SwapContract to hold all HTLC keys
This commit adds a new struct to hold all HTLC keys and refactors the
SwapContract which is used by both loopin and loopout swaps to use this
new struct. The newly added internal keys will for now hold the script
keys to keep everything equivalent but are already stored and read back
if the protocol version is set to MuSig2.
2023-03-20 20:08:43 +01:00
Andras Banki-Horvath
cc5e26b9c9
proto: extend protocol with key reveal building blocks and new version
This commit adds a new protocol version which will add MuSig2 loop in
and loop out using key reveal and extends the existing protocol with new
message members to be able to pass around htlc internal public keys.

The commit also fixes some minor formatting issues in the server proto.
2023-03-20 20:08:42 +01:00
András Bánki-Horváth
dbf6fe0ee7
Merge pull request #559 from GeorgeTsagk/autoloop-parse-old-budget
Autoloop parse old budget to new parameters
2023-03-20 17:29:49 +01:00
George Tsagkarelis
55c769ef9d
liquidity: parse old auto budget to new parameters 2023-03-20 17:20:56 +02:00
George Tsagkarelis
72f284ecb4
looprpc: restore autoloop_budget_start_sec 2023-03-20 17:20:54 +02:00
András Bánki-Horváth
e34653ecd3
Merge pull request #556 from GeorgeTsagk/autoloop-expose-last-refresh 2023-03-17 18:25:09 +01:00
George Tsagkarelis
aca6428b0e
liquidity+loopd: move last budget refresh to parameters 2023-03-16 02:10:32 +02:00
George Tsagkarelis
74f6cc8d4b
looprpc: add last budget refresh to rpc parameters 2023-03-14 16:49:08 +02:00
Olaoluwa Osuntokun
55845ff8ca
Merge pull request #548 from GeorgeTsagk/autoloop-amount-backoff
Autoloop amount backoff
2023-03-08 15:26:01 -08:00
George Tsagkarelis
c17e5a6fc6
liquidity: fix tests for autoloop sticky loop out 2023-03-09 00:43:07 +02:00
George Tsagkarelis
af7a470aea
liquidity+loopd: add sticky loop out swap with amount backoff 2023-03-09 00:43:07 +02:00
George Tsagkarelis
1996160576
loop: extend store mock to implement new methods 2023-03-09 00:43:07 +02:00
George Tsagkarelis
7c6abc0d67
loopdb: add tests for new store methods 2023-03-09 00:43:06 +02:00
George Tsagkarelis
4f20239dbb
loopdb: extend store methods for fetching single swap 2023-03-09 00:43:06 +02:00
András Bánki-Horváth
ec4f250753
Merge pull request #553 from lightninglabs/dependabot/go_modules/golang.org/x/net-0.7.0
build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0
2023-03-07 12:54:51 +01:00
dependabot[bot]
04a9a81078
build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.4.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 23:57:44 +00:00
Konstantin Nick
e188763d3e
Merge pull request #551 from GeorgeTsagk/recurring-budget
multi: add recurring autoloop budget
2023-02-23 10:13:45 +01:00
George Tsagkarelis
1ff2e5c228
docs: add recurring budget and release note 2023-02-22 19:48:04 +02:00
George Tsagkarelis
3b896babc6
liquidity: add test for recurring budget 2023-02-22 19:48:04 +02:00
George Tsagkarelis
5d6be011f9
liquidity: tweak autoloop tests for recurring budget 2023-02-22 19:48:04 +02:00
George Tsagkarelis
b025b9ae37
multi: add recurring autoloop budget 2023-02-22 19:48:03 +02:00
András Bánki-Horváth
2fff034820
Merge pull request #552 from bhandras/lnd-16-bump
dep+build: bump LND dependency to include GenCertPair fix
2023-02-09 13:42:56 +01:00
Andras Banki-Horvath
4ab6c65186
dep+build: bump LND dependency to include GenCertPair fix 2023-02-09 11:22:14 +01:00
András Bánki-Horváth
3bd46249d4
Merge pull request #546 from bhandras/versioned-musig2-htlc
loop: versioned MuSig2 HTLCs
2023-02-07 11:18:39 +01:00
Andras Banki-Horvath
01970ad133
bump Travis CI Go version to 1.19.2 2023-02-06 20:46:04 +01:00
Andras Banki-Horvath
52eca23918
ci: bump GitHub CI Go version to 1.19.2 2023-02-06 20:46:03 +01:00
Andras Banki-Horvath
e8cfe4cea9
swap: pass in MuSig2 version when creating taproot HTLCs
This commit adds the MuSig2 version as an input parameter when creating
Taproot htlcs. This will allow us to create both old and new MuSig2
Taproot HTLCs correctly.
2023-02-06 20:46:03 +01:00
Andras Banki-Horvath
476f47275b
loopd: set minimum LND version to 0.15.99-beta 2023-02-06 20:46:03 +01:00
Andras Banki-Horvath
a7451622e5
mod: bump LND and lndclient to include musig2 1.0rc2 changes
This commit bumps LND and lndclient to make it possible to upgrade
taproot HTLC construction with a MuSig2 version. This is required to
support both old (MuSig2 0.4) and new (MuSig2 1.0) clients.
2023-02-06 20:46:03 +01:00
Alex Bosworth
d5336adbeb
Merge pull request #544 from lightninglabs/update-to-v0.21.0
version: bump version to v0.21.0-beta
2022-12-16 12:46:24 -08:00
Alex Bosworth
9a32b009f9
version: bump version to v0.21.0-beta 2022-12-16 10:02:44 -08:00
Konstantin Nick
bbe7c697ea
Merge pull request #542 from GeorgeTsagk/autoloop-custom-addr
liquidity: add `destaddr` parameter for autoloop loop out
2022-12-16 11:53:55 +01:00
George Tsagkarelis
e1ecc277d4
docs: update release notes for autoloop destaddr 2022-12-16 12:40:26 +02:00
George Tsagkarelis
a14f6e8bd6
liquidity: add autoloop test for outaddr 2022-12-16 12:02:46 +02:00
George Tsagkarelis
fa0393b331
multi: add OutAddr parameter for autoloop loop out 2022-12-16 12:02:46 +02:00
George Tsagkarelis
0ef205cb24
looprpc: add autoloop outaddr 2022-12-16 12:02:43 +02:00
Konstantin Nick
44ba94ead2
Merge pull request #527 from sputn1ck/github_actions
ci: add github actions
2022-12-15 19:25:44 +01:00
sputn1ck
4803941b88
ci: add github actions 2022-12-15 18:08:42 +01:00
sputn1ck
4baf88c414
multi: fix linter issues
This commit fixes outstanding linter issues, that we're not found by
running `make lint` locally. The linter issues were found by running
`docker run -v $(pwd):/build loop-tools golangci-lint run --whole-files`

I added the `revive` to the excludes as it would be to much of a
refactor and IMO seems unneccesary. E.g.
`interface.go:222:6: exported: type name will be used as
loop.LoopInTerms by other packages, and that stutters; consider
 calling this InTerms (revive)`. I think `loop.LoopInTerms` is fine.
2022-12-15 18:08:38 +01:00
András Bánki-Horváth
446f163530
Merge pull request #541 from bhandras/htlc-v3-interal-key
swap: refactor htlc construction to allow passing of internal keys
2022-11-30 18:53:48 +01:00
Andras Banki-Horvath
049b17ff96
misc: refactor loop tests to use require where possible 2022-11-30 18:16:45 +01:00
Andras Banki-Horvath
bdb4b773ed
swap: refactor htlc construction to allow passing of internal keys
This commit is a refactor of how we construct htlcs to make it possible
to pass in internal keys for the sender and receiver when creating P2TR
htlcs. Furthermore the commit also cleans up constructors to not pass in
script versions and output types to make the code more readable.
2022-11-30 18:16:44 +01:00
András Bánki-Horváth
35e0120e8f
Merge pull request #539 from bhandras/loopd_minimum_version
loopd: bump minimum lnd version to v0.15.4
2022-11-21 07:24:42 +01:00
Andras Banki-Horvath
105d3d1ab4
loopd: bump minimum lnd version to v0.15.4 2022-11-18 21:24:31 +01:00
András Bánki-Horváth
05d8fb4ea3
Merge pull request #538 from lightninglabs/dependabot/go_modules/github.com/lightningnetwork/lnd-0.15.4-beta
build(deps): bump github.com/lightningnetwork/lnd from 0.15.3-beta to 0.15.4-beta
2022-11-18 21:19:31 +01:00
dependabot[bot]
113f30bd83
build(deps): bump github.com/lightningnetwork/lnd
Bumps [github.com/lightningnetwork/lnd](https://github.com/lightningnetwork/lnd) from 0.15.3-beta to 0.15.4-beta.
- [Release notes](https://github.com/lightningnetwork/lnd/releases)
- [Changelog](https://github.com/lightningnetwork/lnd/blob/master/docs/release.md)
- [Commits](https://github.com/lightningnetwork/lnd/compare/v0.15.3-beta...v0.15.4-beta)

---
updated-dependencies:
- dependency-name: github.com/lightningnetwork/lnd
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 18:51:14 +00:00
András Bánki-Horváth
78e35d4b0b
Merge pull request #535 from bhandras/sunset-htlcv1
multi: sunset support for nested segwit HTLCs
2022-11-16 15:16:16 +01:00