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

2289 commits

Author SHA1 Message Date
Dominique
74ff0a379c
Make master key accessible in key manager 2022-11-03 19:13:55 +01:00
dpad85
a6b9b83c9d
Merge branch 'android-phoenix-trampoline-bit-0.4.15-hotfix' into android-phoenix 2022-09-16 17:17:31 +02:00
dpad85
b4a5c065d1
Release v0.4.16-android-phoenix 2022-09-15 18:09:29 +02:00
pm47
1dcbcded7b
fixup! change trampoline feature bit 50->148
Cherry-pick of 29981c6ce71e46e0bdb8402a2092b41909991589
from branch android-phoenix-trampoline-bit
2022-09-15 16:35:25 +02:00
dpad85
806bac99fe
Increment snapshot version 2022-09-15 15:47:59 +02:00
dpad85
2ec6136c38
Back to development version 2022-09-15 15:33:37 +02:00
pm47
9c6b4a03c1
change trampoline feature bit 50->148
The bit has been reused for zeroconf and there is a dependency on
scid_alias, which causes issues with lnd 0.15.1-beta.

We just change the bit, which will reflect in our invoices (for
receiving). For receiving, we check both old and new bits for backward
compatiblity.

Cherry-picked from `39f83ab2a1dce07ea783488a9709c43f37b6966c` of branch
`android-phoenix-trampoline-bit`. This is a hotfix for version
0.4.15-android-phoenix so that we don't embed unrelated changes.
2022-09-15 11:49:59 +02:00
dpad85
bf88d0e475
Use bitcoin-lib v0.18.2
This ensure that eclair uses v0.6.4 of secp256k-kmp so that it can run alongside
the current version of lightning-kmp.
2022-07-04 15:09:27 +02:00
dpad85
f10e710800
Filter out non-successful payments in list-all-incoming query 2022-07-04 15:09:04 +02:00
Pierre-Marie Padiou
5cbd6eb923
Send additional commitment sigs with various feerates (#2251)
We add a new TLV-compatible field to `funding_signed`/`commit_sig` and send additional commitment signatures for a set of feerates (1, 2, 5, 10 sat/B) (only when there are no htlcs).

We also gracefully handle the case where remote decides to use one of those additional signatures to unilaterally close the channel. This creates yet another remote-close scenario, named _custom_, on top of the existing with _current_/_next_/_future_. 

Note that:
- since we use static remote key, there isn't anything to do in case of a custom close, since there are no htlcs
- codecs haven't been updated, there is no need.

Co-authored-by: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
2022-05-03 10:34:10 +02:00
dpad85
f8c911c74c
Add methods listing all outgoing and incoming payments 2022-04-21 18:14:25 +02:00
dpad85
defc917dbc
Add support for kmp node key generation
This is needed for the migration to kmp
2022-03-24 17:29:48 +01:00
dpad85
cad5b2a546
Add support for phoenix legacy migration messages
PhoenixAndroidLegacyMigrate is a message to signal migration readiness.
PhoenixAndroidLegacyMigrateResponse is the response confirming that the
peer acknowledges that this phoenix app is ready to migrate.
2022-03-24 16:38:44 +01:00
dpad85
11b2e27444
Back to development mode 2022-01-19 18:36:44 +01:00
dpad85
bc53da9d86
Release v0.4.15-android-phoenix 2021-10-20 11:34:55 +02:00
dpad85
7caa351ef8
Use bitcoin-lib v0.18.1_2.11 with scala denominated packages
Using `fr.acinq.bitcoin.scala` package prevents confusion with the
bitcoin-kmp packages, and lets us use those 2 libraries at the same
time in the same project.
2021-09-14 15:32:24 +02:00
dpad85
ac076d9c05
Back to development mode 2021-09-09 17:31:38 +02:00
dpad85
0c822f4d6e
Release v0.4.14-android-phoenix 2021-09-02 13:14:26 +02:00
Bastien Teinturier
44d37bfd9e
Retry local channel failures in trampoline payments (#1903)
We previously made a single payment attempt per trampoline fee.
Since our channel selection for the first attempt is deterministic, if we
encountered a local failure with that channel, the retries with higher
trampoline fees were hitting the exact same error, whereas we should
instead try a different channel.
2021-08-12 10:29:12 +02:00
Dominique
73a6b9e55c
Release v0.4.13-android-phoenix 2021-07-20 15:48:00 +02:00
Dominique
88ffec8875
Merge branch 'android' into android-phoenix 2021-07-20 15:45:39 +02:00
Dominique
18926b1a60
Release v0.4.13-android 2021-07-20 15:25:37 +02:00
Pierre-Marie Padiou
c22094fc2d
Fix pay-to-open below minimum when using MPP (#1892)
Compare the *sum* of all pay-to-open parts against the min pay-to-open
amount.
2021-07-19 18:55:50 +02:00
dpad85
e9e5e63057
Use WAL mode on sqlite
This commit is adapted from #1871
2021-07-16 21:01:42 +02:00
dpad85
0e27c19cc2
Back to development mode 2021-07-16 21:00:55 +02:00
dpad85
cca712571c
Release v0.4.12-android-phoenix 2021-06-03 18:09:17 +02:00
Fabrice Drouin
e9c1e09c2d
Symmetrical HTLC limits (#1828) (#1836)
The spec defines `max_accepted_htlcs` and `max_htlc_value_in_flight_msat`
to let nodes reduce their exposure to pending HTLCs. This only applies to
received HTLCs, and we use the remote peer's values for outgoing HTLCs.

But when we're more restrictive than our peer, it makes sense to apply our
limits to outgoing HTLCs as well.

Co-authored-by: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
2021-06-03 17:47:11 +02:00
dpad85
cf2d6af3cc
Release v0.4.12-android 2021-05-19 15:34:50 +02:00
Bastien Teinturier
fdb7a86621
Stop masking feature bits (#1814)
Remove a legacy work-around for very old eclair-mobile users.
2021-05-19 15:32:18 +02:00
dpad85
fbb996eb1a
Release v0.4.11-android 2021-05-17 15:05:09 +02:00
dpad85
963d47dd02
Release v0.4.11-android-phoenix 2021-05-11 15:02:54 +02:00
dpad85
3115084656
Merge branch 'android' into android-phoenix 2021-05-07 20:21:43 +02:00
Fabrice Drouin
5dd5502d0d
Use secp256k1-kmp (#1788)
* Use secp256k1-kmp

We get rid of our old JNI wrapper and switch to bitcoin-lib 0.18 which is based on secp256k1-kmp.
This will give us a consistent secp256k1 library on all our apps (since secp256k1-kmp also provides an Android library).
We also switch from spongycastle to bouncycastle (bitcoin-lib 0.18 uses bouncycastle).

* Set version to SNAPSHOT

Co-authored-by: dpad85 <5765435+dpad85@users.noreply.github.com>
2021-05-07 19:59:56 +02:00
Fabrice Drouin
0294429e05
Update single-address wallet to accept a public key instead of an address (#1780)
This will allow us to use this key as our static payment point for static-remote-key channels.
We use the BIP84 address for this key as our single address.
2021-04-26 19:25:08 +02:00
pm47
2e250b640f
increase fundee timeout to 14 days
This is a simpler alternative to 083515086f.
2021-04-26 15:43:41 +02:00
dpad85
52d54f0e61
Release v0.4.10-android-phoenix 2021-04-13 11:28:16 +02:00
Bastien Teinturier
88dd72274c
Fix Bolt 3 spec change that broke our test suite (#1719)
We just merged lightningnetwork/lightning-rfc@b201efe in the spec
which added Bolt 3 tests, invalidating one of our tests and failing the build.
2021-04-01 14:31:57 +02:00
pm47
7d3dca6541
pay-to-open: remove phoenix-side timeout
It was error prone because some device's clock are off. The timeout is
handled by our node anyway.
2021-04-01 14:31:57 +02:00
dpad85
d1c7264aaa
Release v0.4.9-android-phoenix 2021-02-05 18:35:37 +01:00
pm47
b59f9d640b
handle min pay-to-open in Phoenix 2021-02-01 15:33:06 +01:00
pm47
0b3ba78c7f
set version to 0.4.9-android-phoenix-SNAPSHOT 2021-02-01 15:10:07 +01:00
Bastien Teinturier
cdb4b8a26f
Remote failure updating routing hint (#1675)
The routing hint we get in a Bolt 11 invoice may be obsolete when we attempt
the payment: one of the nodes in the route may have updated his relay fees.

Since this affects a private channel that is not kept in the routing graph,
we need to update the routing hints before injecting them in the router.
This was already done in `PaymentLifecycle` with automatic retries, but when
using MPP we retried in the `MultiPartPaymentLifecycle` instead of inside
the `PaymentLifecycle`, so we need to handle routing hints updates there.
2021-02-01 11:48:57 +01:00
dpad85
4fa66bbafa
Release v0.4.8-android-phoenix 2021-01-25 16:53:33 +01:00
pm47
cf37cb12c9
set version to 0.4.8-android-phoenix-SNAPSHOT 2021-01-25 15:29:35 +01:00
pm47
f678dfa7b8
simplify pay-to-open message
We remove the `feeThresholdSatoshis`/`feeProportionalMillionths` fields
and only keep the `feeAmount` field, which is renamed to `payToOpenFee`.

Fee aggregation is easier, we just sum the `payToOpenFee`.
2021-01-25 15:19:42 +01:00
pm47
189e67ed67
remove Dockerfile 2021-01-15 12:51:16 +01:00
dpad85
5c98d08849
Release v0.4.7-android-phoenix 2021-01-13 12:24:58 +01:00
Pierre-Marie Padiou
ac8dd4d29f
Accept remote's closing fee when we have nothing at stake (#1633)
If we have nothing at stake there is no need to negotiate and we accept
their fee right away.
2020-12-15 13:34:15 +01:00
dpad85
addc7a4ab4
Release v0.4.6-android-phoenix 2020-11-30 14:11:15 +01:00
Pierre-Marie Padiou
339fe1c9f4
Take mutual close txes into account in bg check (#1621)
We have a background task that periodically checks the blockchain to
detect unexpected transactions, as they could be cheating attempts.

When cooperatively closing a channel, in the `NEGOTIATING` state, peers
exchange signatures in order to converge on a feerate for the mutual
close transaction. Any transaction exchanged during this negotiation
process is valid and may be published, even if the counterparty dies
abruptly before converging, due to e.g. connectivity issues.

Therefore, the electrum background check needs to take those
transactions into account and not flag them as potential cheating
attempts. We already do that when we are in the `CLOSING` state, as
there may be competing mutual closes.
2020-11-30 12:47:26 +01:00