These 39 commits are when the Protocol Buffers files have changed:
| Commit: | eaaba2f | |
|---|---|---|
| Author: | bitromortac | |
| Committer: | bitromortac | |
multi: carry effective uptime as an unsigned second count Effective uptime is a duration, and the two second-valued fields already in the schema, ChannelInsight's monitored_seconds and uptime_seconds, are both unsigned. Aligning effective_uptime_s with them puts the non-negativity in the type, and it costs nothing at the boundary: the analyzer measures uptime as a time.Duration and the server derives whole seconds from it. The msat quantities beside it stay signed. They are the operands of arithmetic a consumer actually performs, deltas between windows and volume divided by forward count, where a signed result surfaces a mistake as a negative rather than as a number near 2^64. That reasoning does not reach a duration nobody subtracts, and it matches the seven signed msat fields the schema already carries. MinQualifyingUptime returns the same unsigned count, so the comparison it feeds needs no conversion. Its "admits nothing" sentinel becomes MaxUint64. Decoding an up-but-idle pair now clamps the window before adopting it as an uptime, since a response whose end precedes its start would otherwise reconstruct a near-infinite one instead of a negative one.
| Commit: | f96edbb | |
|---|---|---|
| Author: | bitromortac | |
| Committer: | bitromortac | |
multi: report forwarding volume in millisatoshis The forwarding ability endpoint reported per-pair volume in satoshis while lnd hands us every forward amount in millisatoshis, so the analyzer floored each forward to a whole satoshi before summing it. A pair carrying only sub-satoshi forwards reported zero volume and had to be recognised by its forward count alone, and the CLI's fee rate needed a factor of 1000 to divide millisatoshi fees by satoshi volume. Summing at the granularity lnd reports means no forward is floored away and the fee rate falls out as a plain unitless fraction. The field is renamed forwarded_sat to forwarded_msat rather than kept, so a REST consumer that misses the change reads a missing field instead of a value that is silently 1000 times too small. int64 millisatoshis reaches 92.2 million BTC, over four times the supply, so the narrower unit costs nothing in range.
| Commit: | 7e252bd | |
|---|---|---|
| Author: | bitromortac | |
| Committer: | bitromortac | |
frdrpc: report fees and forward counts per pair Report the fees alongside the volume so a single call describes the window completely. Fees are reported in millisatoshis because a single forward routinely earns less than one satoshi, and a satoshi granular sum would floor a low-fee pair's earnings to zero. Report the forward count as well. Both sums can be zero for a pair that really did forward: its volume floors to whole satoshis and a zero-fee policy earns nothing, so without a count neither zero can be told apart from a pair that carried nothing at all. The count is what makes the presence of traffic a fact the response states rather than one the consumer infers from a sum.
| Commit: | 6a1710a | |
|---|---|---|
| Author: | bitromortac | |
| Committer: | bitromortac | |
frdrpc: add ForwardingAbility RPC schema Add the ForwardingAbility RPC that reports, for every (peerIn, peerOut) pair, the raw forwarding facts over a window: effective uptime in seconds and forwarded volume in satoshis. The response is a sparse, packed encoding (deduplicated peer keys plus packed pair indices) carrying only pairs with a non-zero signal; an absent pair means zero over the window. A single liquidity_floor_sat request parameter sets the directional liquidity a pair must hold to count as economically forwardable.
| Commit: | 9e10faa | |
|---|---|---|
| Author: | bitromortac | |
| Committer: | bitromortac | |
frdrpc: add GetChannelEvents Adds the GetChannelEvents RPC to the proto and regenerates the gRPC, gateway, swagger, and JSON stubs. The request carries a chan_point, inclusive start_time and exclusive end_time bounds, a max_events cap, and a last_id keyset cursor; the response echoes last_id and a has_more flag so callers can drive pagination without server-side state.
| Commit: | 579ad0e | |
|---|---|---|
| Author: | Boris Nagaev | |
| Committer: | Boris Nagaev | |
frdrpc: add Bitfinex fiat backend
| Commit: | 99769f6 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
multi: surface coingecko on rpc
The documentation is generated from this commit.
| Commit: | f064bb2 | |
|---|---|---|
| Author: | Elle Mouton | |
| Committer: | Elle Mouton | |
multi: add custom price options to RPC methods This commit adds the options required for the custom fiat price data to the RPC methods. These methods include the NodeAudit and ExchangeRate methods.
| Commit: | 36188eb | |
|---|---|---|
| Author: | Elle Mouton | |
| Committer: | Elle Mouton | |
multi: update RPC to show the fiat currency Update the RPC methods (exchange rate and node report) so that they show the fiat currency that the bitcoin price is quoted in.
| Commit: | 38a0790 | |
|---|---|---|
| Author: | Elle Mouton | |
| Committer: | Elle Mouton | |
multi: add fiat backend option to RPC endpoints This commit adds a fiat_backends option to the RPC relevant RPC endpoints. Namely, the NodeAudit and ExchangeRate endpoint.
| Commit: | 2d5920c | |
|---|---|---|
| Author: | Oliver Gugger | |
make+mod+frdrpc: use Docker for compiling protos To make the protobuf and grpc versions used in Faraday independent of those in lnd, we compile the protos inside a container. Therefore the local development environment doesn't have to match any other project in terms of those versions for successful compilation.
| Commit: | 49ddecf | |
|---|---|---|
| Author: | Oliver Gugger | |
frdrpc: use rest-annotations.yaml for REST definitions To simplify the RPC generation and make it easier for people to compile the faraday.proto file, we extract the REST definitions into their own file.
| Commit: | 055b39c | |
|---|---|---|
| Author: | Oliver Gugger | |
frdrpc: rename rpc.proto to faraday.proto Because the file name "rpc.proto" is already taken by lnd, we get a weird warning everywhere we include both the lnd and faraday, as libraries for example: WARNING: proto: file "rpc.proto" is already registered We fix this problem by renaming faraday's proto file.
| Commit: | 442fa2a | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
mutli: add custom categories to node audit rpc
| Commit: | 400bca2 | |
|---|---|---|
| Author: | carla | |
multi: rename nodereport to nodeaudit Consensue on the team is that nodereport is more representative of a report about the node's operation than an accounting report. Renaming in anticipation of upcoming release.
| Commit: | 7d2ee52 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
accounting: add channel close fee for channels we initiated
| Commit: | 72dec6d | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
multi: allow specifying of granularity level for report generation
| Commit: | b8eef9c | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
frdrpc: surface bitcoin price and timestamp in report
| Commit: | 03d4738 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
multi: switchover fiat to use timestamped bitcoin prices and rename
| Commit: | 2a0d39a | |
|---|---|---|
| Author: | carla | |
frdrpc: rpcformat for existing formatting issues
| Commit: | ec70606 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
frdrpc: add close report endpoint
| Commit: | e8b7a19 | |
|---|---|---|
| Author: | carla | |
multi: add option to disable fiat pricing for reports For testing, or users uninterested in fiat prices, we add an option to disable querying for fiat prices.
| Commit: | 27a6810 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
multi: remove granularity from rpc endpoints The granularity with which we query our price backend is an implementation detail that we don't need to expose to users. Rather than making this configurable, we just calculate our best possible level of granularity server side, and leave this decision out of the user's hands.
| Commit: | 2812ac3 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
accounting: add sweep entry type
| Commit: | d9651f0 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
accounting+frdrpc: add payments to off chain report Add payments to off chain report, failing if there are any duplicate payments in the period being queried. Legacy payments in lnd have duplicate payments which add significant overhead to dealing with payments. Rather than carry the tech debt, we do not support these payments.
| Commit: | b52717a | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
frdrpc: add forwards to node accounting endpoint
| Commit: | a9314f3 | |
|---|---|---|
| Author: | carla | |
frdrpc: add invoices to node report
| Commit: | f7136a7 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
frdrpc: add node report endpoint, currently only populated with on chain
| Commit: | 31c06d8 | |
|---|---|---|
| Author: | carla | |
frdrpc: update fiat endpoint to return strings for better precision
| Commit: | d20545f | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
frdrpc: add fiat estimate method
| Commit: | abf898f | |
|---|---|---|
| Author: | Oliver Gugger | |
| Committer: | Oliver Gugger | |
frdrpc: add REST URLs
| Commit: | df836c2 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
multi: faraday rename
| Commit: | fcf64d6 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
multi: rename trmrpc to gvnrpc
| Commit: | 5d409db | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
trmrpc+trmcli: add volume based recommendations
| Commit: | d6fbefa | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
trmrpc+trmcli: add revenue based recommendations
| Commit: | eca6b62 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
mutli: split uptime and threshold recommendations into separate calls This commit separates uptime based and threshold based recommendations into two separate calls. This decreases the matrix of possible values that users have to specify as we introduce more datasets that close decisions can be made based
| Commit: | fdce101 | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
trmrpc: add channel insights endpoint
| Commit: | 60f6f37 | |
|---|---|---|
| Author: | carla | |
trmrpc: add revenue report endpoint
| Commit: | 47866ab | |
|---|---|---|
| Author: | carla | |
| Committer: | carla | |
trmrpc: add terminator service proto