1
0
Fork 0
mirror of https://github.com/ACINQ/eclair.git synced 2025-03-13 19:37:35 +01:00
Commit graph

756 commits

Author SHA1 Message Date
sstone
d77e9664c9 Merge branch 'master' into android-merge 2020-05-22 15:19:08 +02:00
sstone
a3333c22e3 Merge branch 'master' into android-merge 2020-05-20 13:27:46 +02:00
araspitzu
029cafe297
Use human readable features in configuration (#1385)
* Parse human readable features from configuration, print features in human readable format.
2020-05-19 13:58:19 +02:00
Pierre-Marie Padiou
24b43e9a49
Use actor system as conf container (#1420)
This seems to be recommended practice:
https://doc.akka.io/docs/akka/current/general/actor-systems.html#configuration-container.

As a nice side effect, it allows putting akka-related config in eclair.conf.

Also, reorganize reference.conf/application.conf.
2020-05-18 17:12:21 +02:00
araspitzu
4e4c7c9366
Put shebang in first line of launcher scripts (#1423) 2020-05-18 16:00:03 +02:00
rorp
ff5362e4eb
Fix eclair-node.sh for OSX (#1424) 2020-05-15 08:51:22 +02:00
Bastien Teinturier
c4d0604b72
Payment lifecycle refactor (#1414)
* Extract faulty channels selection from PaymentLifecycle

Move the logic of figuring out which channels/nodes should be ignored
when retrying after a payment failure out of the PaymentLifecycle.

We can figure this out looking only at the `PaymentFailure` generated,
and the multi-part logic could leverage these helpers.

* Refactor RouteResponse

It was useless to return `ignoreNodes` and `ignoreChannels`, it's rather
the responsibility of the caller (PaymentLifecycle) to store and update
these sets.

Preparing for the MPP move inside the router, we introduce a Route class
and let RouteResponse return a collection of Routes.

This creates some ugliness in PaymentLifecycle because of the `routePrefix`,
but this is just temporary: the `routePrefix` "hack" will be removed soon.
2020-05-12 11:41:25 +02:00
Fabrice Drouin
273a3f0966
Release 0.4 (#1409)
* Release 0.4

* Set version to 0.4.1-SNAPSHOT
2020-05-05 14:55:09 +02:00
Pierre-Marie Padiou
19975d3d81
Update to scala 2.13 and akka 2.6 (incremental) (#1390)
This is almost a drop-in replacement. I had to relaxed compiler
parameters to allow deprecated features though.

Main changes:
- relaxed compiler parameters to minimize impact (e.g. allow
deprecated features)
- `scala.collection.JavaConverters` -> `scala.jdk.CollectionConverters`
- `MultiMap` -> `MultiDict`

Compilation is 25% faster on my machine, compiler is a bit more strict
(it found an "invalid comparison" bug).
2020-04-27 13:11:55 +02:00
Pierre-Marie Padiou
f4b56407b4
Prepare upgrade to scala 2.13 and akka 2.6 (#1389)
Do all the changes that will be required and are already possible to
minimize the diff:
- update dependencies
- `'something` -> `Symbol("something")`
- `BigDecimal.xValue()` -> `BigDecimal.xValue`
- `Map.filterKeys` -> `Map.filterKeys.toMap` (same for `Map.mapValues`)
- `def myMethod(...)` -> `def myMethod(...): Unit`
2020-04-24 15:31:25 +02:00
dpad85
e20245a450
Merge branch 'android' into android-phoenix 2020-04-23 18:01:33 +02:00
dpad85
e7ac433af8
Bump version for consistency with phoenix branch 2020-04-21 15:24:48 +02:00
Pierre-Marie Padiou
9cb14ee08c
Add logback config for eclair-node tests (#1377)
Otherwise we use the default logback.xml file which writes to a rolling file in the user directory.
2020-04-15 11:53:33 +02:00
sstone
c39825e10a Merge branch 'master' into android 2020-04-12 23:08:53 +02:00
Pierre-Marie Padiou
a58678eb0b
Move router handlers to separate files (#1352)
Also, acknowledge all gossip with a `GossipDecision`.
2020-04-09 16:08:10 +02:00
Fabrice Drouin
d5951aa819
Release 0.3.4 (#1368)
* Release 0.3.4

* Set version to 0.3.5-SNAPSHOT
2020-04-06 13:41:17 +02:00
Pierre-Marie Padiou
4875d4c879
fixup! Use CLTV as tie-breaker for offered htlc output sorting (#790) (#1360)
* removed the `Direction` class

* improved the non-reg test for htlcs

- check actual content instead of only success and roundtrip
- use randomized data for all fields instead of all-zero
- check the remaining data, not only the decoded value (codecs are
chained so a regression here will cause the next codec to fail)

Co-Authored-By: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
2020-03-31 18:31:47 +02:00
araspitzu
65371cd03b
Add more information to GetInfoResponse (#1344)
Add version, color and features
2020-03-10 14:17:09 +01:00
Pierre-Marie Padiou
21daafe8ac
Update kanela-agent 1.0.1->1.0.5 (#1341)
NB: using `addJava "-javaagent:$lib_dir/kanela-agent-*.jar"` in scripts
to make them update proof doesn't work unfortunately.
2020-03-05 14:19:25 +01:00
dpad85
aa24a8e90e
Back to development 2020-03-05 11:38:33 +01:00
araspitzu
f978cfb75d
Avoid illegal reflective operation during startup (#1313)
* Rework plugin loading:

 We now require the plugin to supply a manifest entry for the "Main-Class" attribute, this is used to load the plugin without doing illegal reflection operations. We also get rid of the dependency org.clapper.classutil
2020-02-28 18:29:54 +01:00
Bastien Teinturier
bb930cd8b0
Channel sends typed responses (#1321)
Instead of sending strings, channel now sends typed responses.
This is more future-proof when we want to add data to those responses.
2020-02-25 10:18:51 +01:00
araspitzu
a0286458c6
Rework packaging (#1307)
* Replace maven-capsule-plugin with maven-assembly-plugin in eclair-node and eclair-node-gui:
 The new packaging produces a zip file containing a launcher script and all the artifacts and dependencies in lib/.

* Add bash launcher scripts for eclair-node and eclair-node-gui, inspired by https://github.com/sbt/sbt-native-packager/blob/master/src/main/resources/com/typesafe/sbt/packager/archetypes/scripts/bash-template

* Add windows launcher scripts, inspired by https://github.com/sbt/sbt-native-packager/blob/master/src/main/resources/com/typesafe/sbt/packager/archetypes/scripts/bat-template

* Add option to start kanela agent with eclair-node launcher scripts

* Force unix file ending in launcher scripts

* Add eclair-cli in the bin folder of packaged eclair-node and eclair-node-gui
2020-02-24 15:42:26 +01:00
dpad85
bd76fd1b26
Release v0.3.8-android-phoenix 2020-02-19 16:08:41 +01:00
pm47
8cd40b2cd0
Merge branch 'android' into android-phoenix 2020-02-13 18:39:32 +01:00
pm47
b530a9ea52
fixed failing api test 2020-02-13 14:28:57 +01:00
sstone
6ecf1084e1
Merge branch 'master' into android 2020-02-11 17:33:40 +01:00
dpad85
a74dd6c08f
Merge branch 'android' into android-phoenix 2020-02-05 16:47:16 +01:00
dpad85
74c4706a08
Merge branch 'master' into android 2020-02-04 18:46:54 +01:00
dpad85
c5e3336cf9
Back to development 2020-02-04 11:02:28 +01:00
dpad85
fa90ab3787
Release 0.3.7-android-phoenix 2020-02-03 15:10:33 +01:00
Fabrice Drouin
66e04265b3
Release 0.3.3 (#1300)
* Release 0.3.3

* Set version to 0.3.4-SNAPSHOT
2020-02-03 11:07:26 +01:00
Bastien Teinturier
48ad9b30e6
Trampoline/MPP API changes (#1297)
Let a sender manually split a payment and specify a trampoline route.

Fix two flaky tests where the order of payment parts could be
different, resulting in a failed equality test.

If we're relaying multiple HTLCs for the same payment_hash,
we need to list all of those.
The previous code only handled that when Trampoline was used.
2020-01-31 11:52:15 +01:00
Bastien Teinturier
453a7c66b1
Trampoline/MPP DB changes (#1287)
With MPP and Trampoline (and particularly the combination of the two),
we need to keep track of multiple amounts, recipients and fees.
There's a trampoline fee and a fee to reach the first trampoline node.
The trampoline nodes must appear in the route, but not as payment recipients.

Adding new fields to payment events and DB structs lets us distinguish those.

We also relax the spec requirement about feature graph dependencies.
The requirement to include `var_onion_optin` in invoice feature bits
was added after the first Phoenix release.
Phoenix users will thus have non spec-compliant invoices in their
payment history.
We accept invoices that don't set this field; this is a harmless
spec violation (as long as we set it in new invoices).
2020-01-29 14:21:41 +01:00
dpad85
bf0b44bdc5
Back to development 2020-01-27 14:44:10 +01:00
dpad85
babac19d84
Back to development 2020-01-27 14:36:38 +01:00
dpad85
30359d1250
Release 0.3.6-android-phoenix
Merge branch 'android' into android-phoenix
2020-01-24 15:42:31 +01:00
dpad85
39a838f58d
Release v0.3.6-android 2020-01-24 11:56:08 +01:00
dpad85
6aae73ac2a
Release v0.3.6-android-RC2 2020-01-23 16:16:17 +01:00
dpad85
185e9edfbe
Back to development version 2020-01-23 15:40:28 +01:00
dpad85
7df9b79819
Merge branch 'android' into android-phoenix
Release 0.3.6-android-phoenix-RC1
2020-01-23 11:28:56 +01:00
dpad85
c42251aa0d
Release 0.3.6-android RC1 2020-01-22 18:59:56 +01:00
dpad85
b6a4fe6b12
Back to development version 2020-01-22 14:27:54 +01:00
dpad85
1a8f225d76
Back to development version 2020-01-22 14:26:13 +01:00
dpad85
d016847253
Release v0.3.5-android-phoenix 2020-01-21 10:37:58 +01:00
dpad85
25b9505529
Release v0.3.5-android
Note that this release jumps straight from 0.3.3 to 0.3.5 so that
the android and android-phoenix branches have similar versions tags,
which makes it easier to track.

As such there is no 0.3.4-android version.
2020-01-21 10:21:05 +01:00
dpad85
641174db25
Merge branch 'android' into android-phoenix 2020-01-10 13:20:55 +01:00
dpad85
b1174b6c87
Merge branch 'android' into android-phoenix 2020-01-10 11:31:33 +01:00
sstone
9dc70a9482 Merge branch 'master' into android 2020-01-09 18:07:14 +01:00
Bastien Teinturier
72338ab58d
Flat features (#1253)
Implement https://github.com/lightningnetwork/lightning-rfc/pull/666

Keep the global/local split in Commitments to avoid backwards incompatibility in the codec.
Remove allowMultiPart API field: we instead rely on the MPP feature being set in nodeParams.
That means MPP-enabled nodes need to update their reference.conf.

Rework features:

* Add types to allow cleaner dependency validation.
* Most of the time we don't care whether a feature is activated as optional or mandatory, which caused duplicate code. This is now handled more cleanly.
* It also paves the way to annotate features with the places they should be advertised (Init vs NodeAnn vs ChannelAnn vs invoice).
2020-01-09 13:47:43 +01:00