Proto commits in lightninglabs/pool

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:d000a6b
Author:Oliver Gugger
Committer:Oliver Gugger

auctioneerrpc: add simple taproot channel enum types

The documentation is generated from this commit.

Commit:1b1d0b6
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add new account version

Commit:cd63205
Author:Robyn
Committer:ffranr

account: expose historical account modification fees via RPC This commit adds a new RPC endpoint which returns a per-account list of account modification fees.

Commit:e6b45a7
Author:positiveblue

rpc: update the comment for

Commit:b2a5c14
Author:positiveblue
Committer:positiveblue

rpc: add auction type field to orders

Commit:091d8f5
Author:positiveblue
Committer:positiveblue

rpc: add `is_public` field to orders

Commit:f82b575
Author:positiveblue
Committer:positiveblue

poolrpc: add unannounced/zeroconf field to sidecars

Commit:b4b21da
Author:positiveblue
Committer:positiveblue

rpc: add new fields for unannounced and zero conf channels For unannounced channels: Bids can decide if they are interested in announced or unannounced channels (exclusive or). Asks can decide in what market they want to provide liquidity: announced channels, unannounced channels or both. For zero conf channels: New constraints based on how many blocks are needed before considering a channel "confirmed".

Commit:a63985d
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add account version to RPCs and manager

Commit:1ef87fe
Author:Oliver Gugger
Committer:Oliver Gugger

auctioneerrpc: add version and nonces for taproot signing

Commit:758aa8e
Author:Oliver Gugger

auctioneerrpc+mod: add new account state

Commit:7361215
Author:positiveblue
Committer:positiveblue

auctioneerrpc: add node id filters to rpc requests

Commit:c85f217
Author:positiveblue
Committer:positiveblue

poolrpc: add list of allowed node ids to Order

Commit:34d0365
Author:positiveblue
Committer:positiveblue

poolrpc: add fields to Recovery Requests

Commit:9e36c74
Author:positiveblue

poolrpc: add auto_renew_extension_blocks to NextBatchInfoResponse

Commit:cb53898
Author:positiveblue
Committer:positiveblue

auctioneerrpc: add auto_renew_extension_blocks to TermsResponse

Commit:70719b6
Author:positiveblue
Committer:positiveblue

auctioneerrpc: Add `new_expiry` to AccountDiffs The new field will be used for updating the account's expiry after participating in a new batch for clients that support it.

Commit:7f2f481
Author:Oliver Gugger
Committer:GitHub

Merge pull request #305 from lightninglabs/auto-renew multi: extend account expiry after using it

Commit:b1848de
Author:positiveblue
Committer:positiveblue

poolrpc: add `account_expiry` to Deposit/Withdraw Follows the same format than in RenewAccount: one of `absolute_expiry` or `relative_expiry`.

Commit:2b3b29e
Author:Wilmer Paulino
Committer:Olaoluwa Osuntokun

chaninfo: allow channel info submission for script enforced channels

Commit:f9c2861
Author:Wilmer Paulino
Committer:Olaoluwa Osuntokun

order+auctioneer: parse height hint from auctioneer's proposed batch The auctioneer will now provide a height hint along with every proposed batch it sends to traders. This height hint is then used by each trader to base off their absolute lease expiration height, such that they can agree on the same value and avoid any divergences due to block propagation discrepancies between them.

Commit:321e3c3
Author:Wilmer Paulino
Committer:Olaoluwa Osuntokun

order+auctioneer: allow submission of order channel type to auctioneer

Commit:15a1b79
Author:positiveblue
Committer:positiveblue

poolrpc: add optional raw sat/byte parameter to InitAccountRequest

Commit:7b2d457
Author:Oliver Gugger
Committer:Oliver Gugger

multi: update ticket state after submitting order When manually submitting an order, we want to update the state of the ticket in the main database to the same state that we update the ticket that's stored within the orders's TLV data.

Commit:e111fac
Author:Oliver Gugger
Committer:Oliver Gugger

rpcserver+poolrpc: add ListSidecars and CancelSidecar RPCs With this commit we add two new RPCs for handling sidecar tickets. ListSidecars will show all sidecar tickets known to the local database, including those where our node is on the receiving end of a sidecar channel. CancelSidecar will cancel a specific sidecar ticket. If an order was created for it, that bid order will be canceled. Doing so will make sure the ticket isn't executed any further.

Commit:a5cf85a
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add DecodeSidecarTicket RPC To make it possible to decode a sidecar ticket through RPC instead of only relying on the output of the CLI, we add the DecodeSidecarTicket RPC method to the trader daemon.

Commit:a81090a
Author:Oliver Gugger
Committer:Oliver Gugger

poolrpc+auctioneerrpc: use docker to compile protos To pin down exactly the versions of our proto compilation tools we use, we do the actual compilation step inside a docker container.

Commit:b39f671
Author:carla
Committer:carla

multi: add matched order nonce to lease Update leases to include the nonce of the order that the match was with. This is required to match a lease with the event list provided by an order in the case of multiple matches (and thus get a timestamp for that lease).

Commit:064ef46
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

poolrpc: modify OfferSidecarRequest to embed bid expose auto flag In this commit, we modify the `OfferSidecarRequest` to instead embed the entire bid order. This makes parsing on the command line a bit easier, and sets us up for auto negotiation, as we'll need to have the entire bid ahead of time so we can submit it during ticket negotiation.

Commit:7dc5efd
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

auctioneerrpc: add in new HashMail servivce This new service will be used to facilitate communication between the sidecar provider and recipient.

Commit:b676727
Author:Oliver Gugger

auctioneerrpc: format proto

Commit:ddbc744
Author:Oliver Gugger

poolrpc+rpcserver: implement QuoteOrder RPC We create an RPC wrapper around the new order.NewQuote function with the goal of replacing the calculation that currently only exists in the CLI with an actual RPC call.

Commit:01e8818
Author:Oliver Gugger

poolrpc: fix command example that broke API docs The command example for the `sidecar expectchannel` was incorrect which lead to the API docs generator erroring out.

Commit:5f7f4cd
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add sidecar channel info to leases list A sidecar channel uses different multisig keys than a normal order so we need to fix the lookup in the batch transaction. While we're at it, we might as well return the self chan balance and whether it was a sidecar channel in the leases response.

Commit:15eeee2
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add sidecar offer/register/expect RPCs With this commit we add the ability to both create/expect a sidecar offer as a provider as well as registering an offer as the recipient to the main RPC server.

Commit:8d9371e
Author:Oliver Gugger
Committer:Oliver Gugger

auctioneer+auctioneerrpc: add SubscribeSidecar server RPC

Commit:2b46e31
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add sidecar ticket to RPC bid order The local database can now store a sidecar ticket with a bid order. We now also need to accept it on the local RPC interface and forward it to the auctioneer.

Commit:660801b
Author:Oliver Gugger
Committer:Oliver Gugger

auctionerrpc+poolrpc: add self_chan_blance field

Commit:30bf636
Author:Oliver Gugger
Committer:Oliver Gugger

auctioneer+poolrpc+rpcserver: add market info to getinfo call With the server now exposing this new RPC, we want to add the output of it to the getinfo call to give users an idea what the current market situation looks like.

Commit:3b99e91
Author:Oliver Gugger

auctioneerrpc: add MarketInfo call The server side added a new RPC that delivers information about the current market. We add it to our proto so we can use it.

Commit:ffd2613
Author:Oliver Gugger

rpcserver+poolrpc: expose state of --newnodesonly flag in RPC With this commit we expose the state of the global --newnodesonly flag of the Pool daemon in the GetInfo RPC call.

Commit:e7d44f0
Author:Oliver Gugger

poolrpc+rpcserver: add GetInfo and StopDaemon RPCs To give developers and users more information about the current state of the trader daemon, we add a new GetInfo RPC that shows a summary of all accounts and orders known to the system. And because there currently is no other way than to <ctrl>+c or kill the daemon, we add a StopDaemon RPC as well for proper shutdown.

Commit:7683892
Author:Oliver Gugger
Committer:Oliver Gugger

poolrpc: add initiator string to submission requests To give any CLI or UI the option to identify themselves, an initiator field is added that will be appended to the binary's user agent string before sending it to the server.

Commit:cb899d5
Author:Oliver Gugger
Committer:Oliver Gugger

auctioneerrpc: add user agent string to server RPCs To allow the server to gather some statistics about what software is running on the other end, we add a user agent string to the following calls: - InitAccount: to count what agent was used to create/open an account. - SubmitOrder: to count what agent submitted an order.

Commit:83b458b
Author:Oliver Gugger
Committer:Oliver Gugger

multi: move auctioneer proto to auctioneerrpc package As a preparation to extract the auctioneer proto package into its own sub-module, we move it out of the poolrpc package.

Commit:ae21a94
Author:Oliver Gugger

poolrpc: extract REST annotations

Commit:bcdd267
Author:Wilmer Paulino
Committer:Oliver Gugger

rpc: add RenewAccount RPC

Commit:919f453
Author:Oliver Gugger
Committer:Oliver Gugger

poolrpc+order: group orders and prices by duration markets

Commit:8379545
Author:Oliver Gugger
Committer:Oliver Gugger

multi: expose duration bucket state

Commit:31b832a
Author:Oliver Gugger
Committer:Oliver Gugger

multi: remove max order duration Because the order/lease duration is now governed by the lease durations, the maximum order duration is no longer needed.

Commit:466bb45
Author:Oliver Gugger
Committer:Oliver Gugger

poolrpc: add batch creation timestamp to snapshot

Commit:fde059c
Author:Oliver Gugger
Committer:Oliver Gugger

poolrpc: add batch query RPCs

Commit:ae75931
Author:Oliver Gugger
Committer:Oliver Gugger

make+poolrpc: add rpc-format command

Commit:fbdf455
Author:Oliver Gugger
Committer:Oliver Gugger

poolrpc: add active_only flag to ListAccounts

Commit:8c0c6f4
Author:Wilmer Paulino

auctioneer: include input sig scripts for account deposits This ensures that the auctioneer can arrive at the correct transaction such that it can continue to track the state of the account on the chain.

Commit:d7e74bf
Author:Wilmer Paulino
Committer:Wilmer Paulino

rpc: add new NextBatchInfo RPC

Commit:1e7864e
Author:Wilmer Paulino
Committer:Wilmer Paulino

auctioneer: add next batch tick and fee params to Terms RPC

Commit:c61e827
Author:Wilmer Paulino
Committer:Wilmer Paulino

poolrpc: include batch tx fee rate in snapshot

Commit:8173e48
Author:Wilmer Paulino

auctioneer: cancel order with nonce preimage instead This prevents traders from canceling an order that does not belong to them. Previously, the order nonce was required, but this could be learned from any trader by matching with it throughout batch execution.

Commit:f45245e
Author:Wilmer Paulino
Committer:Wilmer Paulino

order+rpc: introduce MinUnitsMatch field

Commit:4b41c32
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

poolrpc: add new calls for Bid node rating system, and node rating queries

Commit:e056405
Author:Johan T. Halseth

poolrpc: add active_only option to ListOrders

Commit:63be83d
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

poolrpc: move towards set duration buckets instead of min/max duration In this commit, we make a series of RPC changes to do away with the min/max order preference and instead replace that with a single unified field for the duration of a lease. The Terms method has been extended to return the current set of active leases. Things have been done in this way to allow us to announce a new duration, accept orders, but not yet enable market clearing for it. The changes in this commit were intended to be non-breaking, which is why the Bid/Ask message distinction still exists, even though with this commit they nearly share all the same fields. In the future further fields may be added that still make both messages asymmetric.

Commit:5e714c4
Author:Oliver Gugger

poolrpc+rpcserver: list order events in verbose mode We add a new verbose flag to the ListOrdersRequest message that causes the RPC server to include all events of an order in the response. The orders are now also returned sorted by their creation timestamp.

Commit:eb7020a
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

multi: add order and clearing rate to leases, show absolute expiry

Commit:9becbf6
Author:Wilmer Paulino
Committer:Wilmer Paulino

clmrpc: add Leases RPC

Commit:ff59e37
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

pool: rename clmrpc to poolrpc

Commit:7e55458
Author:Johan T. Halseth

clmrpc: add ReservedValue to listorders

Commit:4c83a66
Author:Wilmer Paulino
Committer:Wilmer Paulino

rpc: add BumpAccountFee RPC

Commit:f71adf7
Author:Wilmer Paulino
Committer:Wilmer Paulino

multi: re-purpose account close tx field to latest tx

Commit:b6a9637
Author:Olaoluwa Osuntokun
Committer:GitHub

Merge pull request #43 from guggero/new-nodes-only Partial Batch Reject [1/2]: Reject batch partially on funding error or duplicate nodes

Commit:dba5585
Author:Wilmer Paulino
Committer:Wilmer Paulino

rpc: add funds destination oneof for CloseAccount This is essentially the RPC variant of the fee expression found when closing accounts.

Commit:f0766e4
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc+rpcserver: remove nonces from OrderMatchAccept

Commit:96f7448
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc: add custom batch reject msg

Commit:21e19d8
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc+auctioneer: remove unused FeeQuote RPC

Commit:774ae42
Author:Oliver Gugger

clmrpc+auctioneer: add Terms RPC

Commit:a662b90
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add account state for pending batch update To track whether or not an account was recently involved in one or more batches, we need to add a new pending state. This pending state is different from the normal pending update from a balance modification as the auctioneer allows an account in this state to participate in a batch. A scenario is possible where an account was involved in two or more consecutive batches that both aren't confirmed on chain yet. To handle that special case we need to also track the special account state on the trader side.

Commit:5c7c80b
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

clmrpc: add new available balance field for returned accounts In this commit, we update the account response to return the total "available balance". Which is computed as the total useable balance of the account assuming all the outstanding orders are matched in a worst-case manner.

Commit:a2abc18
Author:Johan T. Halseth
Committer:Johan T. Halseth

multi: rename FundingFeeRate to MaxBatchFeeRate The funding feerate field was previoulsy unused, so we rename it to "max batch fee rate" in order to use it to communicate to the server the maximum fee rate we are willing to pay to be included in a batch. We also increase the default value to 500 sat/vbyte.

Commit:48243c3
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc: document trader RPCs

Commit:76880ba
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc+rpcserver: add GetLsatTokens RPC

Commit:3d5a3e6
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc+rpcserver+account: add QuoteAccount RPC

Commit:c7dd0eb
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc+rpcserver+account: add conf target, check wallet balance To make sure we don't run into an error when actually sending the desired amount to an account output, we invoke lnd's fee estimation RPC to make sure we can construct a transaction that also respects the new fee parameter.

Commit:4dd64d6
Author:Olaoluwa Osuntokun
Committer:GitHub

Merge pull request #30 from Roasbeef/batch-details multi: add new BatchSnapshot command to allow users to browser prior batches

Commit:3c25585
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

clmrpc: add new BatchSnapshot RPC call In this commit, we add a new RPC call that allows clients to view the outcomes of past batches, so they can use this information to inform their future bids.

Commit:6604266
Author:Olaoluwa Osuntokun
Committer:GitHub

Merge pull request #28 from Roasbeef/billions order: increase precision for the smallest per-block lease rate

Commit:e31c176
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

order: increase precision for the smallest per-block lease rate This is a follow up to #21. In this PR increase the fixed rate denominator from 1e6 to 1e9 (a factor of 100x), which will allow us to express a per-block lease rate for the smallest possible order (1 unit, or 100k sats) over the longest possible lease period (6 months).

Commit:fe2de14
Author:Wilmer Paulino
Committer:Wilmer Paulino

rpc: submit channel info on OrderMatchSign

Commit:6c140ca
Author:Oliver Gugger
Committer:Olaoluwa Osuntokun

clmrpc: declare absolute package name To make it possible for any of the protos to be imported in other proto files, the go package needs to be defined. Otherwise import paths are going to be incorrect.

Commit:222b6e2
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

clmrpc+auctioneer: add new auction fee end point for client

Commit:08003b5
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

clmrpc: make account expiry a one of to allow relative values

Commit:9e55d47
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc+account+rpcserver: add state recovery failed Add a new client side state that denotes that account recovery for a certain account failed.

Commit:3c6e40e
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc: add error type for reserved account If we only have a reservation on the auctioneer's side when a trader tries to connect, we cannot create a full account subscription and therefore not follow the normal message flow for recovery. Instead we return a special error message that contains the information we have that should be enough to restore the account on the trader's side. The trader still has to provide a valid signature with the trader key so no probing for this information should be possible by any third party.

Commit:7ddbeaf
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc: add expiry and trader key to account reservation To be able to recover an account that was only reserved before the data loss occurred at the trader, we need to store more information in the auctioneer's reservation. Specifically we also need to store the account expiry, the trader key and the value. Previously the value was only validated, now it will also be stored in the reservation.

Commit:f521327
Author:Wilmer Paulino
Committer:Wilmer Paulino

clmrpc: add DepositAccount RPC

Commit:31a3220
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc: add account recovery

Commit:62c95e4
Author:Oliver Gugger
Committer:Oliver Gugger

clmrpc: add account recovery messages

Commit:c5ea06b
Author:Oliver Gugger
Committer:Oliver Gugger

client+clmrpc: use enum for OrderState

Commit:909a5bb
Author:Oliver Gugger
Committer:Oliver Gugger

client: send account value on account reservation

Commit:c46bfef
Author:Oliver Gugger
Committer:Oliver Gugger

client+clmrpc: unify data types for amounts, fees and blocks We use the same proto message types everywhere for these kinds of fields: - absolute amounts (sats): uint64 - fee rates (sat/kWU): uint64 - fee rates (ppm): uint32 - blocks (absolute and relative): uint32 Additionally we unify the comments and remove the [ json_name = "" ] declarations in the trader proto as they aren't needed with the jsonpb marshaller that we use. Then we align the naming of the account key to be called trader key everywhere instead of user's sub key.