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

928 commits

Author SHA1 Message Date
Anton Kumaigorodski
2eded652e5 Validity of remote final script is not checked when a Shutdown was already sent (#74)
* Superfluous mapping as we're only interested in collection sizes
* Add a shutdown with invalid final script test
2017-04-20 11:12:12 +02:00
Anton Kumaigorodski
12ca54bc90 both localCommit & remoteCommit htlcs are now checked on Shutdown (#73) 2017-04-19 16:50:01 +02:00
Fabrice Drouin
378a332954 LocalParams should not include maxFeerateMismatch (#70)
as it is not a direct protocol parameter
2017-04-12 15:17:01 +02:00
Pierre-Marie Padiou
102f76e401 Automatic reconnection (#64)
* automatically reconnect every minute (optional, enabled by default)
* (gui) removed reconnect
* use stateTimeout to send ping messages
2017-04-11 17:17:26 +02:00
pm47
7885acd4af fatal error messages are now sent to stderr in headless mode 2017-04-11 17:05:03 +02:00
dpad85
3f404025da Added a receive method to the API to generate payment requests (#63) 2017-04-11 16:47:09 +02:00
Fabrice Drouin
fd56d35073 make max-feerate-mismatch configurable and set default value to 500% (#62)
* make max-feerate-mismatch configurable and set default value to 500%
there can be a significant gap between the fee rate estimated by different bitcoin
clients (see estimatesmartfee) so we must set a reasonably high value for the threshold
above which we consider htat local and remote fee rates are too different and close the
channel.

* use difference/average to compare feerate
it becomes symmetrical and easier to reason with, and also more forgiving.

* make "UpdateFee" minimum ratio configurable
2017-04-11 16:45:03 +02:00
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
Pierre-Marie Padiou
6e98fccc5d replaced compliance status by a link to releases 2017-04-07 12:04:07 +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
Pierre-Marie Padiou
ede49d0a66 added gitter badge (#58) 2017-04-05 14:42:14 +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
dpad85
c3bfbf4a14 Added warning for openJDK in README.md (#48) 2017-03-31 18:19:39 +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
d16fe045cc clarify that we only support java 1.8, not 1.9 (closes #47) 2017-03-26 14:08:04 +02:00
Pierre-Marie Padiou
fa050da12c Removed the 'windows installer' part
it will be generated at 'mvn package' if Inno Setup is installed
2017-03-22 14:45:51 +01:00
Pierre-Marie Padiou
9d962e6571 Updated README 2017-03-21 17:32:15 +01: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