nixpkgs/pkgs/applications/altcoins/clightning.nix
William Casarin ca67e65182 clightning: 0.6.2 -> 0.6.3
[0.6.3] - 2019-01-09: "The Smallblock Conspiracy"

This release named by @molxyz and @ctrlbreak

Added

- JSON API: New command `check` checks the validity of a JSON API call without
  running it.
- JSON API: `getinfo` now returns `num_peers` `num_pending_channels`,
  `num_active_channels` and `num_inactive_channels` fields.
- JSON API: use `\n\n` to terminate responses, for simplified
  parsing (pylightning now relies on this)
- JSON API: `fundchannel` now includes an `announce` option, when false it will
  keep channel private. Defaults to true.
- JSON API: `listpeers`'s `channels` now includes a `private` flag to indicate
  if channel is announced or not.
- Plugins: experimental plugin support for `lightningd`, including option
  passthrough and JSON-RPC passthrough.

Changed

- JSON API: `pay` and `decodepay` accept and ignore `lightning:` prefixes.
- pylightning: Allow either keyword arguments or positional arguments.
- JSON-RPC: messages are now separated by 2 consecutive newlines.
- JSON-RPC: `jsonrpc`:`2.0` now included in json-rpc command calls. complies
  with spec.

Deprecated

Note: You should always set `allow-deprecated-apis=false` to test for
changes.

- pylightning: Support for pre-2-newline JSON-RPC (<= 0.6.2 lightningd) is
  deprecated.

Removed

- option_data_loss_protect is now only offered if EXPERIMENTAL_FEATURES is
  enabled, since it seems incompatible with lnd and has known bugs.

Fixed

- JSON API: uppercase invoices now parsed correctly (broken in 0.6.2).
- JSON API: commands are once again read even if one hasn't responded yet (broken in 0.6.2).
- Protocol: allow lnd to send `update_fee` before `funding_locked`.
- Protocol: fix limit on how much funder can send (fee was 1000x too small)
- Protocol: don't send invalid onion errors if peer says onion was bad.
- Protocol: don't crash when peer sends a 0-block-expiry HTLC.
- pylightning: handle multiple simultanous RPC replies reliably.
2019-01-13 10:32:30 -08:00

53 lines
1.7 KiB
Nix

{ stdenv, python3, pkgconfig, which, libtool, autoconf, automake,
autogen, sqlite, gmp, zlib, fetchzip }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "clightning-${version}";
version = "0.6.3";
src = fetchzip {
#
# NOTE 0.6.3 release zip was bugged, this zip is a fix provided by the team
# https://github.com/ElementsProject/lightning/issues/2254#issuecomment-453791475
#
# replace url with:
# https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip
# for future relases
#
url = "https://github.com/ElementsProject/lightning/files/2752675/clightning-v0.6.3.zip";
sha256 = "0k5pwimwn69pcakiq4a7qnjyf4i8w1jlacwrjazm1sfivr6nfiv6";
};
enableParallelBuilding = true;
nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which ];
buildInputs = [ sqlite gmp zlib python3 ];
makeFlags = [ "prefix=$(out) VERSION=v${version}" ];
configurePhase = ''
./configure --prefix=$out --disable-developer --disable-valgrind
'';
postPatch = ''
echo "" > tools/refresh-submodules.sh
patchShebangs tools/generate-wire.py
'';
doCheck = false;
meta = {
description = "A Bitcoin Lightning Network implementation in C";
longDescription= ''
c-lightning is a standard compliant implementation of the Lightning
Network protocol. The Lightning Network is a scalability solution for
Bitcoin, enabling secure and instant transfer of funds between any two
parties for any amount.
'';
homepage = https://github.com/ElementsProject/lightning;
maintainers = with maintainers; [ jb55 ];
license = licenses.mit;
platforms = platforms.linux;
};
}