Commit graph

20 commits

Author SHA1 Message Date
Elle Mouton
06ca5f280f
tools: bump go version and linter version 2025-03-05 12:37:49 +02:00
Oliver Gugger
d78921b6ff
multi: switch gomock to go.uber.org 2024-05-31 10:39:24 +02:00
Oliver Gugger
31f714dafc
multi: update to lnd v0.17.0-beta 2023-10-03 19:38:20 +02:00
Matt Morehouse
1fbd3f10b3
sidecar: use codec.WriteElements 2023-05-16 17:30:59 -05:00
positiveblue
e5d78fd3cb
multi: update order/batch verification for outbound liquidity auctions 2022-10-25 05:42:18 -07:00
positiveblue
40b2cfdd07
sidecar: new version for unannounced/zero conf channels
A sidecar ticket will always use the minimum version needed to encode
all the relavant information for that offer. In that way the tickets
from a provider with a newer version can be redeemed by recipeients
using older versions as long as the ticket does not encode new
functionalities.
2022-10-18 04:34:22 -07:00
positiveblue
6027ccd3d6
multi: bump btcec/v2 and btcutil to new versions 2022-03-28 15:22:41 +02:00
positiveblue
08921b51ad
mocks: udpate TestRegisterSidecar to use gomock
Create mocks for `sidecar/interfaces.go` and `internal/test/interfaces.go`
and use them for rewriting the `TestRegisterSidecar`.
2021-11-11 09:59:36 -08:00
Oliver Gugger
811c6df4cf
sidecar+acceptor: add IsTerminal to ticket state 2021-09-29 15:15:25 +02:00
Oliver Gugger
877302d851
codec_test: update test to cover all fields 2021-09-06 13:56:51 +02:00
Olaoluwa Osuntokun
2a83726c21
sidecar: switch sidecar encoding from base68 to base58
In this commit, we change the encoding of the sidecar ticket from base68
to base58 as it doesn't contain any special characters which makes copy
pasting a string easier.

An example encoding of the new string looks something like:
```
sidecar13HtPsD1UiB2EA4ZfUbnVejG1Pu3p1GW2ydq65NZBuQgTaD9LRESHtKasXwNrQPYqkwkMyJNFiNoBig4PBQQKoKeXz5jHWXZ3pMZNX5JW2FXyf6zKTPWthRQczNQuf2pM8ppjTqHK6tYTEReZk7pFynYJoHnAeBtix28k2PiRSz5qVVmHpWHWFgVjxihEmcD1T1V1g5LwzVSRUyCJ11ajaE4nHdnU1ZR3HdduxXnyyefacfXWAts3tytr7RnWzRbnVPFSx7eVgeinknYvQ3njtiStpQpSacoBH4y1KckVpRAo8N8KuWWmAgYBNpxZfK8RsgViJ26kTpbfuyyHy1uPkAsGtv25iz5pNcopXyaXMnZGyDDWrDf9ZJEgU6wzm4VxwrPfNN4ASR6wLGWAKy1SsCMVFi5Bx6khN4ReSmJVrALWXrbgM52j7evHVRYXa1LZCJTBccCvaRXNYQqxJvnUnLnHW4N4THv4j1y94wmo2SafRfKapxppVW
```
2021-05-19 19:55:56 -07:00
Olaoluwa Osuntokun
2dcc903495
sidecar: update ticket w/ new offer field to indicate auto negotiation 2021-05-09 19:24:56 -07:00
Oliver Gugger
f81a1c3cfa
sidecar: add order verification 2021-04-02 14:18:11 +02:00
Oliver Gugger
a6f5c60020
sidecar: add signing and verification functions
For maximum re-usability of the signing/verifying code, we add them as
helper methods to the sidecar package itself.
2021-04-01 22:34:07 +02:00
Oliver Gugger
f84debaeff
sidecar+clientdb: add sidecar storage
Both the trader offering to buy a sidecar channel for another node as
well as the recipient node will need to store the involved sidecar
tickets in their local databases. We add a simple store interface and
its implementation that will be used in future commits.
2021-04-01 22:34:07 +02:00
Oliver Gugger
363ddd5a8e
sidecar: add multisig key index and lease duration
For proper and safe channel acceptance the recipient node also needs to
know which key index it used for a ticket's multisig key so it can sign
the authentication flow with the auctioneer correctly (which takes a key
locator and not key descriptor).

To make the offer and sidecar contract more explicit, we also include
the lease duration in blocks in the offer part. This field will
overwrite any value set when using the CLI to submit the bid order.
2021-04-01 22:34:07 +02:00
Oliver Gugger
761226144a
sidecar: add push amount checks
We'll need to check the self chan balance (a.k.a. push amount) values in
several places, including the upcoming sidecar ticket functionality
itself. That's why we add these check functions to the sidecar package.
2021-03-19 16:50:30 +01:00
Oliver Gugger
7c3bf310c0
sidecar: add string encoder and decoder
To allow a ticket to be transported easily over any communication
channel we also provide an easy ascii compatible exchange format which
includes a prefix and a checksum in addition to the tlv stream data.
The string encoding chosen is URL safe base64.
2021-02-22 10:26:00 +01:00
Oliver Gugger
fb7cbc9e6a
sidecar: add TLV encoders and decoders
To allow the ticket to become a versatile and extendable data exchange
format, we encode its main parts using different TLV streams. That way
more parts can always be added or extended individually.
2021-02-22 10:25:59 +01:00
Oliver Gugger
ee0736d58c
sidecar: add sidecar ticket types
With this commit we add the main sidecar Ticket type and the partial
information types that are bundled within.
The ticket itself is meant to be used in a PSBT like manner where each
participant incrementally adds their information according to their role
and the current step.
2021-02-22 10:25:53 +01:00