1
0
Fork 0
mirror of https://github.com/ACINQ/eclair.git synced 2025-02-22 22:25:26 +01:00
Commit graph

598 commits

Author SHA1 Message Date
pm47
e2350ca8b1 added tests for state WAIT_FOR_FUNDING_PARENT 2017-04-11 16:43:38 +02:00
dpad85
9a2bdb31a1 (GUI) Added an option in the GUI to open a simple connection to a node (#68)
* (gui) added option to open a simple connection to a node in gui
* added checkbox in open channel modal window
* when the 'simple connection' checkbox is selected, the `fundingSatoshis`
  and `pushMsat` fields are ignored
* (gui) channelid is displayed as hexa
* (gui) fixed testnet color
* (gui) increased the inital size of the main window
* (gui) display the node alias in channel pane when the node is announced: alias is appended to node id; using option to open channel
2017-04-11 12:07:09 +02:00
pm47
5bcf2f4ae7 setting watches when restoring in CLOSING state 2017-04-11 10:18:12 +02:00
pm47
c94972f7ce made transport actor a FSM instead of a LoggingFSM 2017-04-11 10:11:39 +02:00
Pierre-Marie Padiou
47310c1534 Fixed racing issues in integration tests making travis fail (#61)
* integ tests: removed sleeps, waiting for watches before generating blocks
* fixed a (rarely occuring) race condition related to bulk-generation of test blocks
2017-04-10 16:58:17 +02:00
pm47
8fedd5acd9 back to SNAPSHOT 2017-04-07 11:48:10 +02:00
pm47
1e792f63d7 set version to 0.2-alpha2 2017-04-07 11:27:05 +02:00
pm47
e8485128e5 increased integration test timeouts 2017-04-07 11:26:28 +02:00
pm47
6be1644bb4 improved route calculation errors 2017-04-07 11:26:17 +02:00
Fabrice Drouin
54a8b56c3d Mitigate testnet malleability attacks (#59)
* malleability fix: we wait the parent of the funding tx or its malleated version to be confirmed,
then we create the funding tx

* set default min depth to 2

* disconnection during WAIT_FOR_FUNDING_CREATED now closes the channel
2017-04-06 17:55:16 +02:00
pm47
4991a3bc96 reduced log verbosity 2017-04-05 18:30:29 +02:00
Fabrice Drouin
07a1cb0b99 add ping and pong messages (#56)
* add ping and pong messages
* add setting for ping interval to configuration file
* channels can now be restored when peer is connected
2017-04-05 18:06:09 +02:00
pm47
a1b9860483 added timestamp to test logging 2017-04-05 15:30:31 +02:00
dpad85
e18fcbab47 ZMQ connection monitoring (#57)
* made zeromq listener non-blocking and monitors connection status
* now throwing an exception at startup in case of zmq connection issues
* (gui) added a blocking modal in main window for ZMQ events
* made boot error exit the application in headless mode
2017-04-05 15:24:05 +02:00
pm47
edefb8d235 increased connection timeout in tests 2017-04-05 15:02:26 +02:00
pm47
bcbc40e7ad sending a sig on reconnection, because last CMD_SIGN might have been ignored 2017-04-04 15:51:17 +02:00
pm47
9125742900 removed another debug log line 2017-04-04 14:47:58 +02:00
pm47
70d62a5c78 removed debug log line 2017-04-04 14:45:09 +02:00
Pierre-Marie Padiou
1d53e53dd2 channel validation is now made in batch, using parallel JsonRPC requests (#53) 2017-04-04 14:26:50 +02:00
Fabrice Drouin
e8be919fe5 fix fuzzy test (#54)
* re-enabled fuzzy test
* fix fuzzy test: Bob was using his own public key instead of Alice's  when sending HTLCs to Alice
2017-04-04 11:22:39 +02:00
dpad85
00c9aa6200 (gui) Shortened notification and emphasized message (#55)
* fixed uncaught escape key hiding notification scene
* message notification should be straightforward and as brief as possible
* updated notifications icons
2017-04-04 10:43:41 +02:00
Fabrice Drouin
3e53a1fc2c Use CPFP to create our funding tx (#50)
* use CPFP to create our funding tx
ask bitcoin-core to fund a standard tx which has a segwit output, and spend it to
create our funding tx. the parent and the funding tx are published at the same time
and should end up in the same block.
this should give us some protection against malleability attacks: it should improve the chances
of our funding tx being mined, and if the parent tx loses the race against it malleated version
then our fuding tx will not be published, which is much better than having a conflicted funding
tx

* set default fee-rate-per-kw to 10000

* guestimate that feerate-per-kw is feerate-per-kb / 2 for a standard commit tx

* channel: estimate the fee for the parent of our funding tx
instead of hardcoding it

* integration test: increase channel capacities
because we use a larger feerate-per-kw now

* added a feerateKB2Kw method
2017-03-31 20:28:51 +02:00
dpad85
34677f0ed6 Added an activity tab to the GUI (#52)
* (gui) added Activity tab (payment sent, received, relayed)
* GUIUpdater listens to PaymentEvent
* payments are listed in separate tableviews (sent, received, relayed)
* added Payment[Sent, Relayed, Received] events
* (gui) Handling Relayed and Sent payments in Activity Tab
* (gui) fixed amount columns in activity
* (gui) Added formatting to monetary columns of activity tables
* (gui) payments are prepended to activity tables
2017-03-31 20:03:36 +02:00
Pierre-Marie Padiou
72a14914fc Added integration tests on htlc relaying in on-chain scenarios (#51)
* using scodec for failure messages

* we now update routing info and retry payments in case of Update failure

* properly implemented BOLT4/'Receiving Failure Codes' (also fixed a bug with UnknownPaymentHash)

* added integration tests on htlc timeout

* relayer now sends an UpdateFail to downstream when an htlc timeout hits the blockchain

* added integration tests on extracting preimage from blockchain

* cleaning up of htlc bindings in relayer

* router now doesn't send a 2nd request to bitcoind when it is notified of a new channel twice in a short amount of time

* peerclient now asks for witness when retrieving blocks from bitcoind

* getTxBlockHash now returns None instead of an error when tx is in the mempool

* we now look into the mempool when checking for WatchSpent

* fixed FundingSigned been sent twice when deferring an early FundingLocked

* added zeromq listener, removed predefined eclair.conf files in test, limited concurrent rpc calls to 5 for the router

* Update README.md with ZMQ configuration

* Added a warning and link to alpha2 install instructions

* removed PeerClient

* improved PeerWatcher performance
2017-03-31 18:08:59 +02:00
Pierre-Marie Padiou
eba5915f8c Use chain getblockchaininfo.chain to infer the magic value (#45)
* use chain getblockchaininfo.chain to infer the magic value, remove bitcoind.network conf parameter (closes #43)

* minor: renamed socket->socketAddress, also rebased
2017-03-28 14:05:52 +02:00
Pierre-Marie Padiou
16d3960f75 Automated retry of payments (#44)
* using scodec for failure messages

* we now update routing info and retry payments in case of Update failure

* properly implemented BOLT4/'Receiving Failure Codes' (also fixed a bug with UnknownPaymentHash)
2017-03-27 13:29:27 +02:00
dpad85
e728cad4ac Access to version/commit id at runtime (#42)
* Added help option in command line; added version in logs

* Version and commit id added in manifest (use Specification-Version for commitId)

* (gui) version in about is now dynamic; ESC key closes about

* Excluded unused protobuf dependency

* Update README.md
2017-03-27 11:14:54 +02:00
pm47
15f6fbdca4 back to 0.2-SNAPSHOT 2017-03-21 17:17:48 +01:00
pm47
05607a01e5 setting pom version to 0.2-alpha1 2017-03-21 16:52:38 +01:00
pm47
79f2882ac8 fixed init error in package app 2017-03-21 16:47:24 +01:00
pm47
7106e2e2c9 fixed warning in scaladoc 2017-03-21 15:57:11 +01:00
pm47
6c268a9df1 fixed error handling during initialization 2017-03-21 15:55:41 +01:00
pm47
0c580528b7 made build process less verbose 2017-03-21 14:55:16 +01:00
pm47
17df27a01f fixed comment 2017-03-21 14:55:01 +01:00
sstone
2e2a47e5fd fix local/remote delay inversion 2017-03-21 14:37:04 +01:00
dpad85
eb78f07e2d (gui) fix issue with initial size of modals in ubuntu 2017-03-21 14:36:55 +01:00
Pierre-Marie Padiou
f984e55c68 fixed how we interpret feature bits (#37) 2017-03-21 13:16:12 +01:00
Fabrice Drouin
516ce96c0c BOLT 3: fix computation of obscured tx number (#36)
* BOLT 3: fix computation of obscured tx number
* BOLT 3: fix computation of obscured tx number
2017-03-21 12:02:36 +01:00
dpad85
ca2b678fd4 (gui) updated about 2017-03-21 11:58:57 +01:00
dpad85
03cf8616c5 (gui) More concise about 2017-03-21 11:58:57 +01:00
dpad85
d3e521d9e3 Fixed RPC calls
* help was not up-to-date
* send returns a PaymentResult
* get channel must use a BinaryData
2017-03-21 11:58:57 +01:00
Pierre-Marie Padiou
a59b4ad2ed Fixed non-compliant wire messages (#34)
* fixed fundingOutputIndex uint8->uint16

* removed HTLC-timeout sigs from RevokeAndAck

* added an (unused yet) features field to channel announcement
2017-03-20 16:18:46 +01:00
dpad85
f9bdd72b24 Wip gui wording (#33)
* (gui) removed headings in tabs listing global nodes/channels

* (gui) wording node id

* (gui) title of network announcement tabs is updated with list changes
2017-03-20 15:56:20 +01:00
sstone
ae34bbaf89 tcp client: use keepalive=true 2017-03-19 22:01:04 +01:00
sstone
22e579cf82 handle case where bitcoind estimatesmartfee returns -1 2017-03-19 22:00:12 +01:00
dpad85
2b11a048fc (gui) add announcement only if absent from network list 2017-03-17 20:04:17 +01:00
Pierre-Marie Padiou
f7e8d531fa added a supervision strategy to all actors (#31) 2017-03-17 18:00:43 +01:00
pm47
6797f5e3e9 made windows installer generation run at package phase 2017-03-17 17:51:29 +01:00
Fabrice Drouin
dc3c49fbeb BOLT 4: propagate htlc failures upstream (#30)
* BOLT 4: create return packets for failure messages

* bolt 4: add low-level methods for returning error messages

* BOLT 4: return shared secrets along with the onion packet

* codecs: minor fix the UpdateFailHtlc codec

* BOLT 4: return htlc failures
create and propagate htlc failures as per BOLT 4

* update tests

* channel: publish short channel id when restoring data
and not on reconnection

* channel: remove "channel update" parameters from Commitments.sendAdd()

* channel: send "add htlc failed" to relayer
and a more informative message to the sender through handleCommandError

* keep shared secrets local to PaymentLifeCycle
CMD_ADD_HTLC should just know the onion packet (as before), not the shared secrets

* relayer: handle failure cases
wrong expiry, amount, ...

* added a simple test on the fail workflow

* added a 'channel-capacity-exceeded' test

* make PaymentSucceeded and PaymentFailed children of PaymentResult

* relayer: ChannelUpdates should be stored in a Map, not an Option

* reply with update_fail_malformed_htlc when the onion is not parsable

* channel: handle 'update_fail_malformed_htlc' in Shutdown state
and add tests

* minor: AddHtlcSucceeded -> AddHtlcSuccess

* use bitcoin-lib 0.9.10
2017-03-17 17:01:14 +01:00
pm47
9253267c69 put back CONSOLE appender to logback (still disabled) 2017-03-17 15:35:17 +01:00