Skip to content

Offers#2

Draft
thomash-acinq wants to merge 121 commits into
masterfrom
offers
Draft

Offers#2
thomash-acinq wants to merge 121 commits into
masterfrom
offers

Conversation

@thomash-acinq

@thomash-acinq thomash-acinq commented Dec 3, 2021

Copy link
Copy Markdown
Owner

@thomash-acinq thomash-acinq force-pushed the offers branch 9 times, most recently from d443995 to eaae737 Compare December 10, 2021 10:15
@thomash-acinq thomash-acinq force-pushed the offers branch 3 times, most recently from ef3cd3f to ea34774 Compare December 16, 2021 13:55
@thomash-acinq thomash-acinq force-pushed the offers branch 5 times, most recently from a27f25c to 80b73bd Compare December 23, 2021 14:36
@thomash-acinq thomash-acinq force-pushed the offers branch 2 times, most recently from 7ab8733 to e5d52ca Compare December 29, 2021 17:31
@thomash-acinq thomash-acinq force-pushed the offers branch 5 times, most recently from 12df6ca to 033ae22 Compare January 12, 2022 17:15
@thomash-acinq thomash-acinq force-pushed the offers branch 6 times, most recently from 9bdc1c7 to 210ee32 Compare January 24, 2022 14:26
pm47 and others added 25 commits June 16, 2022 10:38
So we don't need to rename them when a new codec is added.
This build failure: https://github.com/ACINQ/eclair/runs/6901214111 was possibly caused by the register not yet having been notified of the real scid.
We make it explicit that conversion from a string to an scid uses the tx
coordinates and can fail.

We also clean up compiler warnings in updated test files.
We can currently deduce the `channel_id` of a public channel because it
is based on the funding transaction coordinates, but that won't be the
case with dual-funding, where the `channel_id` will be private information
between the two channel peers.
Create new database for each unit test instead of spawning a new db
instance.

Co-authored-by: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
Allow eclair to expose a metrics scraping endpoint for Prometheus
for users who don't want to rely on Kamon's hosted infrastructure. 

Co-authored-by: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
 Since actors are initialized asynchronously, and the initialization sometimes involves subscribing to an `EventStream`, we don't know when they are ready to process messages, especially in tests, which lead to race conditions. By making actors publish `SubscriptionsComplete ` on the same `EventStream` they are subscribing to, we guarantee that if we receive `SubscriptionsComplete ` the actor has been initialized and its subscriptions have been taken into account.
Add arm64v8 Dockerfile
We generate alias randomly, and use a value space large enough to not have to worry about duplicates.
If the current chunk of data read from the TCP connection only contains unknown messages (in particular, could be only one isolated unknown message on an otherwise idle connection), we never resumed reading on the connection.

This means all subsequent messages, including pings/pongs, won't be read, which is why the most visible effect is disconnecting due to no response to ping.

Related to ElementsProject/lightning#5347.

Reported by @wtogami.
…NQ#2315)

Bolt11 uses routing hints to add extra edges for the path-finding, blinded routes are also extra edges added to the path-finding but they have a different format. The new type `ExtraEdge` is more flexible and can be expanded to cover new kinds of extra edges such as blinded routes.
* improve bitcoin client metrics

* only use batching bitcoin client for the watcher

* use named args for defaultFromFeatures method

* use default min_depth in edge case scenario

* add OutgoingChannelParams trait

* update amounts in ChannelRelayerSpec

* make register take typed replyTo

* improve codecs non-reg tests
The `override-init-features` field in `eclair.conf` was not previously
applied on top of the `features` field, so node operators were usually
copy-pasting their `features` overrides in every `override-init-features`.

The overrides are now applied on top of the base `features` configuration,
which makes it easier and more intuitive to configure per-node features.
We now use either our local alias or the real scid in the channel update
that we store internally. When we send that channel update directly to
our peer, we override it to use the remote alias when it makes sense.
We restrict 0-conf activation on a per-peer basis. When 0-conf is activated
by both peers, we use it even if it wasn't part of the `channel_type`.
From lightbend's config doc:

> A given Config must be resolved before using it to retrieve config values, but ideally should be resolved one time for your entire stack of fallbacks (see withFallback)

https://github.com/lightbend/config/blob/4458ea947a7a2a668bb811a122455f1f05975172/config/src/main/java/com/typesafe/config/Config.java#L204-L206
When a channel force-close without any pending htlcs, funds are not at
risk. We want to eventually get our main output back, but if we are not
in a rush we can save on fees by never spending the anchors.

This is disabled by default as there is a potential risk: if the commit
tx doesn't confirm and the feerate rises, the commit tx may eventually be
below the network's min-relay-fee and won't confirm (at least until package
relay is available).
Add a grafana dashboard to monitor host metrics
(CPU, memory, network usage, etc).
It currently serializes to `{}`.
`RoutingHeuristics.normalize` could return 1, it now returns a value in (0, 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.