To make initial triage easier and nudge people into reading the
documentation and gathering information before submitting an issue, we
add three issue templates: bug reports, feature requests and "other".
* Updated for a transaction close
* adding an extra line at the end of the file.
* sat_per_byte value update
As per PR review feedback, updating from 0 to something more realistic, like 11 sats per vbyte.
Co-authored-by: root <root@pop-os.localdomain>
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.
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.
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.
This commit adds the required macaroon permissions for the two new RPC
methods added in the previous commit.
We don't want to introduce a new permission that didn't exist before
because that would mean all users would need to re-create their macaroon
to use the commands. Therefore we use the account:write permission for
the shutdown command as that is probably the most sensitive permission
anyway as it gives access to on-chain funds.
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.
This commit fixes a missing mutex lock in the SendAuctionMessage. To
make it possible to hold it there, we need to remove the deferred unlock
in connectAndAuthenticate into connectServerStream. Otherwise we'd run
into deadlocks.
The order manager already stores the local lnd node's identity public
key. We return it in an exported method so the RPC server can access it
as well without needing to query it again.
To make sure we only allow querying it after the manager is started, we
add an atomic flag for the startup state.
We add the initiator string "pool-cli" to the account open and order
submission calls to give the server an idea what user facing software
was used for those actions.
In case the RPC client specified the initiator string we add it to the
context of the InitAccount and SubmitOrder calls so it can be appended
to the static user agent of the binary.
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.
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.
To make it easy to pass the initiator of an action to the auctioneer
client, we use the incoming context to transport it. We provide two
helper functions in the main package to wrap and unwrap the initiator
string in a context.
To be able to identify the type of Pool daemon binary version that
submits orders and accounts, we want to send a user agent string to the
server. That string can be customized when poold is integrated into LiT
for example.
The Makefile contained a number of copy/paste errors that we fix with
this commit: The make_ldflags function and RELEASE_TAGS variable were
missing and therefore resulted in empty strings.
With those things removed, we can then go ahead and build the correct
LDFLAGS variable and actually use it when building or installing the
binaries.
Now that we've merged the PR that made auctioneerrpc a submodule and
pushed a tag, we want to reference it with that tag to make the go.mod
file easier to read/understand.
To make it possible to replace the package in the server integration
tests, we declare the auctioneerrpc package as its own submodule. That
way we can just plug in the server version in the itest if we have changes in the
server proto that aren't merged to the client repo yet.