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

965 Commits

Author SHA1 Message Date
Andras Banki-Horvath
82b58e5c0e
loopout: attempt cooperative musig2 sweep
This commit adds optional cooperative musig2 sweep by calling the server
to create a partial signature for the sweep if we'd otherwise be allowed
to spend the htlc. If the cooperative musig2 spend fails, we always fall
back to use the scriptpath spend.
2022-06-30 16:59:59 +02:00
Andras Banki-Horvath
32557a57ea
swapserverrpc: add MuSig2SignSweep function 2022-06-30 16:59:58 +02:00
Andras Banki-Horvath
d3401f809f
loopout: fix flaky loopout preimage push and expiry tests 2022-06-30 16:59:58 +02:00
Andras Banki-Horvath
5c04b8db05
test: add richer implementation to MuSig2CreateSession 2022-06-30 16:59:57 +02:00
Andras Banki-Horvath
1abbe648d1
rpc: fix swapserverrpc build 2022-06-30 16:59:57 +02:00
Andras Banki-Horvath
a252e2c706
loopdb: add the local pubkey's keylocator to the persisted contract 2022-06-30 16:59:57 +02:00
Andras Banki-Horvath
ce3026daa9
client: LoopInQuote to support v3 htlc for fee estimate 2022-06-30 16:59:56 +02:00
Andras Banki-Horvath
bf59159ddb
client: LoopOutQuote to support estimate using v3 htlc 2022-06-30 16:59:56 +02:00
Andras Banki-Horvath
391ef57ea3
loopout: enable p2tr without keyspend 2022-06-30 16:59:55 +02:00
Andras Banki-Horvath
901a935514
loopin: enable p2tr htlcs without keyspend 2022-06-30 16:59:55 +02:00
Andras Banki-Horvath
152677fcc7
test: fix naming in client tests 2022-06-30 16:59:55 +02:00
Andras Banki-Horvath
00cf4bf71c
multi: make the next protocol version optional 2022-06-30 16:59:54 +02:00
Andras Banki-Horvath
9b37d744a0
multi: add ProtocolVersion_HTLC_V3 2022-06-30 16:59:54 +02:00
Andras Banki-Horvath
7cc6ef2ffd
mod: bump btcd to latest tagged version 2022-06-30 16:59:41 +02:00
András Bánki-Horváth
5b5dfc0f5e
Merge pull request #506 from bhandras/sweeper-htlcv3
sweep: fill sign method when script spending a taproot htlc
2022-06-10 17:46:01 +02:00
Andras Banki-Horvath
c9bc10ef76
sweep: fill sign method when script spending a taproot htlc 2022-06-10 17:16:54 +02:00
András Bánki-Horváth
8f23c6789b
Merge pull request #477 from bhandras/taproot-htlc
multi: changes to the taproot HTLC  required for both client and server
2022-06-09 20:10:37 +02:00
Alex Bosworth
0f9abbc29a
Merge pull request #505 from lightninglabs/v0.19.0-bump
version: bump version to v0.19.1-beta
2022-06-09 09:22:27 -07:00
Alex Bosworth
96f1fe5bec
version: bump version to v0.19.1-beta 2022-06-09 09:05:28 -07:00
Carla Kirk-Cohen
c7ef4297c0
multi: update sweeping to allow different sighashes and claim scripts
Taproot spends require a different sighash, so we update our HtlcScript
interface to provide the appropriate sighash when sweeping. We also add
distinct Timeout/Success Script functions to allow for tapleaf spends
which have different locking scripts for different paths. Note that the
timeout and success paths will be the same for segwit v0 htlcs, because
it has a single branched script containing all spend paths.

In future iterations, this differentiation of claim scripts can also
be used to use musig2 to collaboratively keyspend P2TR htlcs with the
server. This script can be expressed as PriorityScript (because we'll
try to keyspend as a priority, and then fall back to a tap leaf spend).
As we've done here, segwit v0 spends would just return their single
script for PriorityScript, and the claim would be no different from
our other claims.
2022-06-09 10:20:16 +02:00
Andras Banki-Horvath
9610becebd
multi: add the aggregate internal pubkey to the v3 htlc 2022-06-09 10:20:16 +02:00
Carla Kirk-Cohen
638973dce2
swap: add locking conditions to HtlcScript interface
Use of the Script() function is problematic when we introduce taproot
because our script will vary depending whether we use keyspend or a
tapleaf spend path (and on the tapleaf spent). This has not previously
been a problem for segwitv0 scripts, because they contain all of the
logical branches for each of our spend conditions in a single script.

This commit prepares for removal of the Script() function by moving
our address/pkScript/sigScript generation (which need Script()) into
each script's implementation of the HtlcScript interface so that
they have access to the script directly.
2022-06-09 10:20:13 +02:00
Konstantin Nick
3931c27043
Merge pull request #504 from sputn1ck/fix_suggest_swaps_rpc
looprpc: fix suggestswaps response
2022-06-08 15:38:00 +02:00
sputn1ck
950b32dea6
multi: update version and release notes 2022-06-08 12:11:20 +02:00
sputn1ck
1df6685653
looprpc: fix suggestswaps response
This commit fixes the SuggestSwaps rpc call. Previously, when multiple
DisqualifiedPeers were provided, all pubkeys would be the same.
2022-06-08 12:09:02 +02:00
Yong
dfe50e44ef
Merge pull request #493 from yyforyongyu/db-params
liquidity: persist manager's params to disk
2022-06-07 23:48:36 +08:00
yyforyongyu
2da38230a5
docs: update release note 2022-06-07 20:18:14 +08:00
yyforyongyu
425a007aaf
loopd+liquidity: persist parameters on disk
This commit saves the RPC request used to construct the `Parameters` on
disk. Since it's a proto message, an easy way to read/write it is to
rely on the proto marshal/unmarshal methods. A side effect is that
migration also becomes easy as proto message have its own internal
mechanism to keep track of the compatibility.
2022-06-07 20:18:11 +08:00
yyforyongyu
26edd21889
loopdb: add new bucket to save liquidity params
This commit adds a new bucket to save liquidity parameters. We've
skipped the serialization and deserialization implementations here and
leave them to be handled by the liquidity package.
2022-06-07 19:19:53 +08:00
yyforyongyu
8217ee31c3
liquidity+loopd: refactor SetParameters to take a rpc request
This commit refactors the method `manager.SetParameters` to take a
`SetLiquidityParamsRequest`. As we'll see in the following commit, this
will enable us saving the params to disk more easily.
2022-06-07 19:19:52 +08:00
yyforyongyu
9c5ac0fb36
liquidity: move parameters into a new file
This commit refactors the `liquidity` by moving `Parameters` related
code into one file.
2022-06-07 19:19:52 +08:00
András Bánki-Horváth
a4d343ca1b
Merge pull request #501 from lightninglabs/lnd-15
multi: bump all dependency to use lnd 0.15.0-beta.rc4
2022-06-03 18:01:54 +02:00
Oliver Gugger
d5952f1202
multi: bump all dependency to use lnd 0.15.0-beta.rc4
This commit bumps all dependencies to be in line with what's required
for the current release candidate of lnd 0.15.0-beta.
2022-06-03 10:50:47 +02:00
András Bánki-Horváth
14dfdc8521
Merge pull request #500 from sputn1ck/update_listswaps_api
Include provided last_hop and outgoing_chan_set to listswaps rpc
2022-05-31 20:52:05 +02:00
sputn1ck
ece0f76e7f
loop: update listswaps api 2022-05-31 16:26:55 +02:00
sputn1ck
efb6f75d60
swap: add lasthop, outgoingchanids to swapinfo 2022-05-31 16:26:51 +02:00
Yong
e98d813885
Merge pull request #495 from sputn1ck/check_p2pk_dest
loopout: reject P2PK addresses
2022-05-25 00:10:22 +08:00
Oliver Gugger
6d1708de68
Merge pull request #496 from sputn1ck/dockerize_linter
Dockerize linter, add gosimports
2022-05-20 10:28:29 +02:00
sputn1ck
ce596468e9
loopout: reject unsupported address formats
This commit adds a check to reject unsupported address
formats such as P2PK or P2TR addresses
2022-05-20 10:22:11 +02:00
sputn1ck
a34f22c443
make fmt 2022-05-20 10:16:47 +02:00
sputn1ck
4ed3197985
make+tools: tidy makefile, add gosimports 2022-05-20 10:16:47 +02:00
sputn1ck
a1271fee40
multi: fix linter issues 2022-05-20 10:16:46 +02:00
sputn1ck
f0bf9302cc
make: dockerize linter 2022-05-20 10:16:42 +02:00
András Bánki-Horváth
1741896e33
Merge pull request #487 from C-Otto/master 2022-05-07 16:49:23 +02:00
Carsten Otto
b0044e0994 loopout: remove double space in log message 2022-05-06 17:34:19 +02:00
Oliver Gugger
dee7542b36
Merge pull request #485 from thinkmassive/github-workflow-docker
github: initial docker workflow
2022-04-29 13:05:38 +02:00
Alex Miller
dd01b90afd
github: initial docker workflow
Builds a Docker image for tags starting with 'v'

The image repository name is defined by environment variable DOCKER_REPO, which
defaults to: lightninglabs/loop

To override it, if you want to publish the image to your own DockerHub account,
define a Github Actions secret named DOCKER_REPO with the full image repo name
such as: <docker_user>/loop
2022-04-28 22:33:46 -04:00
Harsha Goli
6deed23a18
Merge pull request #482 from arshbot/HtlcV3-taproot-base
swap: HTLCV3 added
2022-04-25 10:28:38 -04:00
Harsha Goli
dec6dd7e70
swap: HTLCV3 added
In this commit we add the version 3 htlc, which is implemented with
taproot script spending the two payment paths: the claim path case, and
the timeout case.
2022-04-22 11:36:09 -04:00
Harsha Goli
968676c956
Merge pull request #481 from lightninglabs/revert-473-HtlcV3-taproot-base
Revert "swap: HTLCV3 added"
2022-04-20 11:31:36 -04:00