* (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
* integ tests: removed sleeps, waiting for watches before generating blocks
* fixed a (rarely occuring) race condition related to bulk-generation of test blocks
* 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
* 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
* fixed uncaught escape key hiding notification scene
* message notification should be straightforward and as brief as possible
* updated notifications icons
* 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
* 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
* use chain getblockchaininfo.chain to infer the magic value, remove bitcoind.network conf parameter (closes#43)
* minor: renamed socket->socketAddress, also rebased
* 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 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
* (gui) removed headings in tabs listing global nodes/channels
* (gui) wording node id
* (gui) title of network announcement tabs is updated with list changes
* 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