1
0
Fork 0
mirror of https://github.com/ACINQ/eclair.git synced 2025-02-26 23:49:34 +01:00
eclair/eclair-core/src/main
Pierre-Marie Padiou ee7038c7a6
Rework mutual closing (#247)
* include raw tx when sig check fails

See BOLT 1 recommendation:

"when failure was caused by an invalid signature check:

    SHOULD include the raw, hex-encoded transaction in reply to a
    funding_created, funding_signed, closing_signed, or commitment_signed
    message."

 Also, removed redundant signature check in state
 `WAIT_FOR_FUNDING_SIGNED`.

* enforce closing fee <= commitment fee

In accordance to BOLT 2.

Note that it is safe to consider feerates instead of fees, because
weight(closingTx) < weight(commitTx).

This fixes #243.

* use channel logger in Helpers.scala and Commitment.scala

* handle multiple closing txes

Nothing prevents the counterparty to publish any or several of the closing txes
before the negotiation is finished, we need to handle this case.

This fixes #245.

* added msg+state when chanel failure occurs

* proper handling of invalid closing sig

* removed hardcoded error messages in channel

* return an `error` to sync attemps when in CLOSING

* peer now return an error for unknown channels

* added fee negotiation details in logs

* properly display errors, reject closing fee to high
2017-12-06 13:53:09 +01:00
..
resources Correctly translates and relay channels errors (#230) 2017-12-06 13:32:06 +01:00
scala/fr/acinq/eclair Rework mutual closing (#247) 2017-12-06 13:53:09 +01:00