aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/blockchains
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/blockchains')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix43
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix52
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix54
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix70
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix66
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix94
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix58
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix1932
-rwxr-xr-xinfra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh6
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix49
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix50
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix44
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix69
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix80
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix55
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix40
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix111
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch14
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix68
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch69
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix59
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix48
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch13
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix64
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix54
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix1077
-rwxr-xr-xinfra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh6
-rwxr-xr-xinfra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh45
-rwxr-xr-xinfra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh51
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix50
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix48
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix19
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix53
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix59
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix47
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix35
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix69
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh98
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix100
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix956
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix66
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix104
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix60
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix43
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix33
63 files changed, 6821 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
new file mode 100644
index 000000000000..5e0c25466ebe
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, git, doxygen, graphviz
+, boost, miniupnpc, openssl, unbound, cppzmq
+, zeromq, pcsclite, readline, libsodium
+}:
+
+let
+ version = "0.13.0.0";
+in
+stdenv.mkDerivation {
+ pname = "aeon";
+ inherit version;
+
+ src = fetchFromGitHub {
+ owner = "aeonix";
+ repo = "aeon";
+ rev = "v${version}-aeon";
+ fetchSubmodules = true;
+ sha256 = "07d87n1j4dc9gfwj6xy5jdpryn45095xdh961g6xjnjzc5fivjch";
+ };
+
+ nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];
+
+ buildInputs = [
+ boost miniupnpc openssl unbound
+ cppzmq zeromq pcsclite readline libsodium
+ ];
+
+ cmakeFlags = [
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DBUILD_GUI_DEPS=ON"
+ "-DReadline_ROOT_DIR=${readline.dev}"
+ ];
+
+ hardeningDisable = [ "fortify" ];
+
+ meta = with stdenv.lib; {
+ description = "Private, secure, untraceable currency";
+ homepage = "http://www.aeon.cash/";
+ license = licenses.bsd3;
+ maintainers = [ maintainers.aij ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix
new file mode 100644
index 000000000000..81825d3d5b02
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -0,0 +1,52 @@
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, openssl, db53, boost
+, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent
+, withGui, python3, jemalloc, zeromq4 }:
+
+with stdenv.lib;
+
+mkDerivation rec {
+
+ name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
+ version = "0.21.13";
+
+ src = fetchFromGitHub {
+ owner = "bitcoin-ABC";
+ repo = "bitcoin-abc";
+ rev = "v${version}";
+ sha256 = "1x8xcdi1vcskggk9bqkwr3ah4vi9b7sj2h8hf7spac6dvz8lmzav";
+ };
+
+ patches = [ ./fix-bitcoin-qt-build.patch ];
+
+ nativeBuildInputs = [ pkgconfig cmake ];
+ buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4
+ miniupnpc util-linux protobuf libevent ]
+ ++ optionals withGui [ qtbase qttools qrencode ];
+
+ cmakeFlags = optionals (!withGui) [
+ "-DBUILD_BITCOIN_QT=OFF"
+ ];
+
+ # many of the generated scripts lack execute permissions
+ postConfigure = ''
+ find ./. -type f -iname "*.sh" -exec chmod +x {} \;
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Peer-to-peer electronic cash system (Cash client)";
+ longDescription= ''
+ Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
+ It is designed to facilite a hard fork to increase Bitcoin's block size limit.
+ "ABC" stands for "Adjustable Blocksize Cap".
+
+ Bitcoin ABC is a fork of the Bitcoin Core software project.
+ '';
+ homepage = "https://bitcoinabc.org/";
+ maintainers = with maintainers; [ lassulus ];
+ license = licenses.mit;
+ broken = stdenv.isDarwin;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix
new file mode 100644
index 000000000000..417262f6f4d0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
+, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, protobuf, qrencode, libevent
+, withGui }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+
+ name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
+ version = "1.3.8";
+
+ src = fetchFromGitHub {
+ owner = "bitcoinclassic";
+ repo = "bitcoinclassic";
+ rev = "v${version}";
+ sha256 = "06ij9v7zbdnhxq9429nnxiw655cp8idldj18l7fmj94gqx07n5vh";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ openssl db48 boost zlib
+ miniupnpc util-linux protobuf libevent ]
+ ++ optionals withGui [ qtbase qttools qrencode ];
+
+ configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
+ ++ optionals withGui [ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Peer-to-peer electronic cash system (Classic client)";
+ longDescription= ''
+ Bitcoin is a free open source peer-to-peer electronic cash system that is
+ completely decentralized, without the need for a central server or trusted
+ parties. Users hold the crypto keys to their own money and transact directly
+ with each other, with the help of a P2P network to check for double-spending.
+
+ Bitcoin Classic stands for the original Bitcoin as Satoshi described it,
+ "A Peer-to-Peer Electronic Cash System". We are writing the software that
+ miners and users say they want. We will make sure it solves their needs, help
+ them deploy it, and gracefully upgrade the bitcoin network's capacity
+ together. The data shows that Bitcoin can grow, on-chain, to welcome many
+ more users onto our coin in a safe and distributed manner. In the future we
+ will continue to release updates that are in line with Satoshi’s whitepaper &
+ vision, and are agreed upon by the community.
+ '';
+ homepage = "https://bitcoinclassic.com/";
+ maintainers = with maintainers; [ jefdaj ];
+ license = licenses.mit;
+ broken = stdenv.isDarwin;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix
new file mode 100644
index 000000000000..7205e882c314
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, fetchFromGitHub
+, openssl
+, boost
+, libevent
+, autoreconfHook
+, db4
+, pkgconfig
+, protobuf
+, hexdump
+, zeromq
+, libsodium
+, withGui
+, qtbase ? null
+, qttools ? null
+, wrapQtAppsHook ? null
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+
+ pname = "bitcoin" + toString (optional (!withGui) "d") + "-gold";
+ version = "0.15.2";
+
+ src = fetchFromGitHub {
+ owner = "BTCGPU";
+ repo = "BTCGPU";
+ rev = "v${version}";
+ sha256 = "0grd1cd8d2nsrxl27la85kcan09z73fn70ncr9km4iccaj5pg12h";
+ };
+
+ nativeBuildInputs = [
+ autoreconfHook
+ pkgconfig
+ hexdump
+ ] ++ optionals withGui [
+ wrapQtAppsHook
+ ];
+
+ buildInputs = [
+ openssl
+ boost
+ libevent
+ db4
+ zeromq
+ libsodium
+ ] ++ optionals withGui [
+ qtbase
+ qttools
+ protobuf
+ ];
+
+ enableParallelBuilding = true;
+
+ configureFlags = [
+ "--with-boost-libdir=${boost.out}/lib"
+ ] ++ optionals withGui [
+ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+
+ meta = {
+ description = "BTG is a cryptocurrency with Bitcoin fundamentals, mined on common GPUs instead of specialty ASICs";
+ homepage = "https://bitcoingold.org/";
+ license = licenses.mit;
+ maintainers = [ maintainers.mmahut ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix
new file mode 100644
index 000000000000..dd0132df4d94
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, autoreconfHook
+, db5
+, openssl
+, boost
+, zlib
+, miniupnpc
+, libevent
+, protobuf
+, util-linux
+}:
+
+stdenv.mkDerivation rec {
+ pname = "bitcoind-knots";
+ version = "0.20.0";
+ versionDate = "20200614";
+
+ src = fetchFromGitHub {
+ owner = "bitcoinknots";
+ repo = "bitcoin";
+ rev = "v${version}.knots${versionDate}";
+ sha256 = "0c8k1154kcwz6q2803wx0zigvqaij1fi5akgfqlj3yl57jjw48jj";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ openssl db5 openssl util-linux
+ protobuf boost zlib miniupnpc libevent ];
+
+ configureFlags = [ "--with-incompatible-bdb"
+ "--with-boost-libdir=${boost.out}/lib" ];
+
+ meta = with stdenv.lib; {
+ description = "An enhanced Bitcoin node software";
+ homepage = "https://bitcoinknots.org/";
+ license = licenses.mit;
+ maintainers = [ maintainers.mmahut ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix
new file mode 100644
index 000000000000..8a2b9e370f51
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
+, zlib, miniupnpc, util-linux, protobuf, qrencode, libevent, python3
+, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
+, Foundation, ApplicationServices, AppKit }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
+ version = "1.9.0.1";
+
+ src = fetchFromGitHub {
+ owner = "bitcoinunlimited";
+ repo = "bitcoinunlimited";
+ rev = "BCHunlimited${version}";
+ sha256 = "018a22zbvjqky0whizmgxzscmna0sh2xqgyw02yjk8qj4yi0zp8c";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
+ ++ optionals withGui [ wrapQtAppsHook qttools ];
+ buildInputs = [ openssl db48 boost zlib
+ miniupnpc util-linux protobuf libevent ]
+ ++ optionals withGui [ qtbase qttools qrencode ]
+ ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
+
+ configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
+ ++ optionals withGui [ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Peer-to-peer electronic cash system (Unlimited client)";
+ longDescription= ''
+ Bitcoin is a free open source peer-to-peer electronic cash system that is
+ completely decentralized, without the need for a central server or trusted
+ parties. Users hold the crypto keys to their own money and transact directly
+ with each other, with the help of a P2P network to check for double-spending.
+
+ The Bitcoin Unlimited (BU) project seeks to provide a voice to all
+ stakeholders in the Bitcoin ecosystem.
+
+ Every node operator or miner can currently choose their own blocksize limit
+ by modifying their client. Bitcoin Unlimited makes the process easier by
+ providing a configurable option for the accepted and generated blocksize via
+ a GUI menu. Bitcoin Unlimited further provides a user-configurable failsafe
+ setting allowing you to accept a block larger than your maximum accepted
+ blocksize if it reaches a certain number of blocks deep in the chain.
+
+ The Bitcoin Unlimited client is not a competitive block scaling proposal
+ like BIP-101, BIP-102, etc. Instead it tracks consensus. This means that it
+ tracks the blockchain that the hash power majority follows, irrespective of
+ blocksize, and signals its ability to accept larger blocks via protocol and
+ block versioning fields.
+
+ If you support an increase in the blocksize limit by any means - or just
+ support Bitcoin conflict resolution as originally envisioned by its founder -
+ consider running a Bitcoin Unlimited client.
+ '';
+ homepage = "https://www.bitcoinunlimited.info/";
+ maintainers = with maintainers; [ DmitryTsygankov ];
+ license = licenses.mit;
+ broken = stdenv.isDarwin;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix
new file mode 100644
index 000000000000..80e935f2b1a8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix
@@ -0,0 +1,94 @@
+{ stdenv
+, fetchurl
+, pkgconfig
+, autoreconfHook
+, db48
+, boost
+, zeromq
+, hexdump
+, zlib
+, miniupnpc
+, qtbase ? null
+, qttools ? null
+, wrapQtAppsHook ? null
+, util-linux
+, python3
+, qrencode
+, libevent
+, withGui
+}:
+
+with stdenv.lib;
+let
+ version = "0.20.1";
+ majorMinorVersion = versions.majorMinor version;
+ desktop = fetchurl {
+ url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/debian/bitcoin-qt.desktop";
+ sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
+ };
+in
+stdenv.mkDerivation rec {
+ pname = if withGui then "bitcoin" else "bitcoind";
+ inherit version;
+
+ src = fetchurl {
+ urls = [
+ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
+ "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
+ ];
+ sha256 = "4bbd62fd6acfa5e9864ebf37a24a04bc2dcfe3e3222f056056288d854c53b978";
+ };
+
+ nativeBuildInputs =
+ [ pkgconfig autoreconfHook ]
+ ++ optional stdenv.isDarwin hexdump
+ ++ optional withGui wrapQtAppsHook;
+ buildInputs = [ db48 boost zlib zeromq miniupnpc libevent ]
+ ++ optionals stdenv.isLinux [ util-linux ]
+ ++ optionals withGui [ qtbase qttools qrencode ];
+
+ postInstall = optional withGui ''
+ install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
+ install -Dm644 share/pixmaps/bitcoin128.png $out/share/pixmaps/bitcoin128.png
+ '';
+
+ configureFlags = [
+ "--with-boost-libdir=${boost.out}/lib"
+ "--disable-bench"
+ ] ++ optionals (!doCheck) [
+ "--disable-tests"
+ "--disable-gui-tests"
+ ]
+ ++ optionals withGui [
+ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+
+ checkInputs = [ python3 ];
+
+ doCheck = true;
+
+ checkFlags =
+ [ "LC_ALL=C.UTF-8" ]
+ # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
+ # See also https://github.com/NixOS/nixpkgs/issues/24256
+ ++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Peer-to-peer electronic cash system";
+ longDescription = ''
+ Bitcoin is a free open source peer-to-peer electronic cash system that is
+ completely decentralized, without the need for a central server or trusted
+ parties. Users hold the crypto keys to their own money and transact directly
+ with each other, with the help of a P2P network to check for double-spending.
+ '';
+ homepage = "https://bitcoin.org/";
+ downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/";
+ changelog = "https://bitcoincore.org/en/releases/${version}/";
+ maintainers = with maintainers; [ roconnor ];
+ license = licenses.mit;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix
new file mode 100644
index 000000000000..39d2197626a1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, openssl
+}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ pname = "btcdeb-unstable";
+ version = "200806";
+
+ src = fetchFromGitHub {
+ owner = "bitcoin-core";
+ repo = "btcdeb";
+ rev = "f6708c397c64894c9f9e31bea2d22285d9462de7";
+ sha256 = "0qkmf89z2n7s95vhw3n9vh9dbi14zy4vqw3ffdh1w911jwm5ry3z";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ openssl ];
+
+ meta = {
+ description = "Bitcoin Script Debugger";
+ homepage = "https://github.com/kallewoof/btcdeb";
+ license = licenses.mit;
+ maintainers = with maintainers; [ akru ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
new file mode 100644
index 000000000000..3958a44cdafe
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -0,0 +1,58 @@
+{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
+ dotnetPackages, dotnetCorePackages, writeScript, bash
+}:
+
+let
+ deps = import ./deps.nix {
+ fetchNuGet = { name, version, sha256 }: fetchurl {
+ name = "nuget-${name}-${version}.nupkg";
+ url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+ inherit sha256;
+ };
+ };
+ dotnetSdk = dotnetCorePackages.sdk_3_1;
+in
+
+stdenv.mkDerivation rec {
+ pname = "btcpayserver";
+ version = "1.0.5.9";
+
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "011pp94i49fx587ng16m6ml63vwiysjvpkijihrk6xamz78zddgx";
+ };
+
+ nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
+
+ buildPhase = ''
+ export HOME=$TMP/home
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+
+ nuget sources Add -Name tmpsrc -Source $TMP/nuget
+ nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
+
+ dotnet restore --source $TMP/nuget BTCPayServer/BTCPayServer.csproj
+ dotnet publish --no-restore --output $out/share/$pname -c Release BTCPayServer/BTCPayServer.csproj
+ '';
+
+ # btcpayserver requires the publish directory as its working dir
+ # https://github.com/btcpayserver/btcpayserver/issues/1894
+ installPhase = ''
+ makeWrapper $out/share/$pname/BTCPayServer $out/bin/$pname \
+ --set DOTNET_ROOT "${dotnetSdk}" \
+ --run "cd $out/share/$pname"
+ '';
+
+ dontStrip = true;
+
+ meta = with lib; {
+ description = "Self-hosted, open-source cryptocurrency payment processor";
+ homepage = "https://btcpayserver.org";
+ maintainers = with maintainers; [ kcalvinalvin earvstedt ];
+ license = lib.licenses.mit;
+ platforms = lib.platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
new file mode 100644
index 000000000000..5ee5e2612115
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -0,0 +1,1932 @@
+{ fetchNuGet }: [
+ (fetchNuGet {
+ name = "AngleSharp";
+ version = "0.9.11";
+ sha256 = "17vf1bizskkxr8pf547lk2b48m12wv3si83gxk145i73bf9gi64a";
+ })
+ (fetchNuGet {
+ name = "AWSSDK.Core";
+ version = "3.3.104.14";
+ sha256 = "157694kb63z1szbsv861515fvjv7amrjrfmgbm3idpyw31afk650";
+ })
+ (fetchNuGet {
+ name = "AWSSDK.S3";
+ version = "3.3.110.10";
+ sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Hwi";
+ version = "1.1.3";
+ sha256 = "1c8hfnrjh2ad8qh75d63gsl170q8czf3j1hk8sv8fnbgnxdnkm7a";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.All";
+ version = "1.2.4";
+ sha256 = "1f4wgs8ijk1wmppz5lmas7l6m83szz57jyk6ak0dxhccdld9rdaj";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.Charge";
+ version = "1.2.1";
+ sha256 = "0iv9frbr6xfxif3pnfd7c87y8mv31nqkdrnhvnaswrx43nv6s272";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.CLightning";
+ version = "1.2.1";
+ sha256 = "14km69jzmnyqg19w27g6znml4z0xkm8l4j7rj0x36bw67cjmgahv";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.Common";
+ version = "1.2.0";
+ sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.Eclair";
+ version = "1.2.0";
+ sha256 = "0w7nwsr0n2hrqak023xa294palsk3r96wlgw2ks8d3p5kxm8kskp";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.LND";
+ version = "1.2.1";
+ sha256 = "0ql4qyvz0rms6ls46pi3bgak3r6hj2c5ivnzahiq6cb84pbl61cr";
+ })
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.Ptarmigan";
+ version = "1.2.0";
+ sha256 = "1yd6nhlssb9k08p5491knlwwjij9324ildir99sa9cp24rlq5nis";
+ })
+ (fetchNuGet {
+ name = "BuildBundlerMinifier";
+ version = "3.2.435";
+ sha256 = "0y1p226dbvs7q2ngm9w4mpkhfrhw2y122plv1yff7lx5m84ia02l";
+ })
+ (fetchNuGet {
+ name = "BundlerMinifier.Core";
+ version = "3.2.435";
+ sha256 = "17338x8ycr7hjzq16kr0ri30k19802hsn1sy259k3v694mxk59vd";
+ })
+ (fetchNuGet {
+ name = "BundlerMinifier.TagHelpers";
+ version = "3.2.435";
+ sha256 = "0ksmby0lzgsxkv0xfzr840262kcqra9vds91mcx0rf20blksfvsk";
+ })
+ (fetchNuGet {
+ name = "CsvHelper";
+ version = "15.0.5";
+ sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma";
+ })
+ (fetchNuGet {
+ name = "DBriize";
+ version = "1.0.1.3";
+ sha256 = "0rsm68hwq2ky8i6mv3ckdjkj4vjygnkgk3disva0skl3apk833dc";
+ })
+ (fetchNuGet {
+ name = "DigitalRuby.ExchangeSharp";
+ version = "0.6.3";
+ sha256 = "1vb7ahafcd3lcbiiz552aisilwm1yq3j600gkf1wik8vhvsk02fs";
+ })
+ (fetchNuGet {
+ name = "Google.Api.Gax.Rest";
+ version = "2.5.0";
+ sha256 = "1zkjl5zh6qwdz4qmnxnk5877pas638i2qi25znilhqqf3mrkp0rp";
+ })
+ (fetchNuGet {
+ name = "Google.Api.Gax";
+ version = "2.5.0";
+ sha256 = "0q6pi53px998i3gdndla8v0zqdpyi9gnsy9mdcfpkrg09vfbdsl9";
+ })
+ (fetchNuGet {
+ name = "Google.Apis.Auth";
+ version = "1.35.1";
+ sha256 = "1qdnd1nq9bfgyljmiww91pfi0iz1n29rz2dlizhxcijqya2ldha3";
+ })
+ (fetchNuGet {
+ name = "Google.Apis.Auth";
+ version = "1.38.0";
+ sha256 = "0x3bdwiyqjxw5df99bfasmsv09kb47wzisag938631cijl0g277y";
+ })
+ (fetchNuGet {
+ name = "Google.Apis.Core";
+ version = "1.35.1";
+ sha256 = "01dfw2kxknlc5pm7x1q88lv9j979509lkkgvlffjry5bawsxsja4";
+ })
+ (fetchNuGet {
+ name = "Google.Apis.Core";
+ version = "1.38.0";
+ sha256 = "012gslhnx65vqfyzjnqx4bqk9kb8bwbx966q2f9fdgrfcn26gj9j";
+ })
+ (fetchNuGet {
+ name = "Google.Apis.Storage.v1";
+ version = "1.38.0.1470";
+ sha256 = "0mfrz7fmpfbjvp4zfpjasmnfbgxgxrrjkf8xgp9p6h9g8qh2f2h2";
+ })
+ (fetchNuGet {
+ name = "Google.Apis";
+ version = "1.35.1";
+ sha256 = "1022l8m7v9f3rkjc9l11mkzwsbmqx9sk5f4aym035vn9hdr16d49";
+ })
+ (fetchNuGet {
+ name = "Google.Apis";
+ version = "1.38.0";
+ sha256 = "01j3d1lv106cqw9n0lwgclrxghy852fsibv6av4xr03ivrkm8g40";
+ })
+ (fetchNuGet {
+ name = "Google.Cloud.Storage.V1";
+ version = "2.3.0";
+ sha256 = "01jhrd6m6md8m28chzg2dkdfd4yris79j1xi7r1ydm1cfjhmlj64";
+ })
+ (fetchNuGet {
+ name = "HtmlSanitizer";
+ version = "4.0.217";
+ sha256 = "0szay9mf5mmrp1hx0yc175aaalv76qg0j515lfs133j1d95lj26d";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNet.SignalR.Client";
+ version = "2.3.0";
+ sha256 = "1xyj8b88bc6sc7fxgqyalzfmlfgbagfk7adyk29if9hr8ki9bic4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNet.WebApi.Client";
+ version = "5.2.7";
+ sha256 = "1j0wbdmycj5xbk06p32f7xrddc40sbj3yca4d7ywg611yk26mvi1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Cryptography.Internal";
+ version = "3.1.4";
+ sha256 = "0d4djj073bl9kps5jkcpydh92lcp6kpa7njhypjw3myaa987dcsh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Cryptography.KeyDerivation";
+ version = "3.1.4";
+ sha256 = "1rya2775prm8ss0rz6izsqqcz96gcf1rh0bpcvnfy1mwi04rx8bl";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Hosting.Abstractions";
+ version = "2.0.0";
+ sha256 = "0x6vw7kiy9z7cdmgbqav0d9wq66032wg39l2c9cv6xvxxvdpbkz7";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Hosting.Server.Abstractions";
+ version = "2.0.0";
+ sha256 = "1k4dr6l32swi8zasfvzxixnjvgbrra7v6lgpri0929vb3r5lagjb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Http.Abstractions";
+ version = "2.0.0";
+ sha256 = "1hgmnd5mj35g8cqq3mdhjf9cmi3wm5lqiyrj5mgfscnig6i686xr";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Http.Features";
+ version = "2.0.0";
+ sha256 = "1zk5ad3laa7ma83md8r80kijqzps6dcrvv0k1015nddfk1qd74s6";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Identity.EntityFrameworkCore";
+ version = "3.1.4";
+ sha256 = "0smcpaqm7d95flr0k7i2psrsfvs48lv28kzqgnllv5229hhb670d";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.JsonPatch";
+ version = "3.1.1";
+ sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
+ version = "3.1.1";
+ sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Mvc.Razor.Extensions";
+ version = "3.1.1";
+ sha256 = "1iydcr7rfzg3kqky0x70853g6lbzsl9ja9cv8ph6iwpqxnswgdkh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation";
+ version = "3.1.1";
+ sha256 = "1q1bblcj9l2dnz46frygsfq7w4v08l96clgryh78wyws83xjm43y";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Razor.Language";
+ version = "3.1.1";
+ sha256 = "0arqmy04dd0r4wm2fin66gxxwj2kirbgxyf3w7kq6f73lrnazhq0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Bcl.AsyncInterfaces";
+ version = "1.1.0";
+ sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Bcl.AsyncInterfaces";
+ version = "1.1.1";
+ sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Bcl.HashCode";
+ version = "1.1.0";
+ sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Analyzers";
+ version = "2.9.3";
+ sha256 = "1kskwc9gyd2sx3zwx52qwfsl7s0xhaclmlnxvjsb4jgvpydv3xii";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Analyzers";
+ version = "3.0.0";
+ sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Common";
+ version = "3.3.0";
+ sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Common";
+ version = "3.6.0";
+ sha256 = "0i8x90700jr30j580mpawj6d90fngrb2zpkjjbn7f8r2p1mz75y7";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.CSharp";
+ version = "3.3.0";
+ sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.CSharp";
+ version = "3.6.0";
+ sha256 = "0c44qp7lfpja6cq5nk7851qrswm2z1k2pnvsw43j9ybf10a27jrn";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Razor";
+ version = "3.1.1";
+ sha256 = "03n5rli6v1kvghha82zar3dvvkbc2vb9g8zp5fjrzhvp4l74ingn";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeCoverage";
+ version = "16.6.1";
+ sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.0.1";
+ sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.3.0";
+ sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.5.0";
+ sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.7.0";
+ sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Data.Sqlite.Core";
+ version = "3.1.4";
+ sha256 = "1pahyqjs4l9g1wg9hvxf68kgzzf72ny2i7n7ai97a389p2c86xvh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.DotNet.PlatformAbstractions";
+ version = "2.0.4";
+ sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.DotNet.PlatformAbstractions";
+ version = "3.1.4";
+ sha256 = "1s5h96zdc3vh1v03gizmqfw5hmksajw10bdrj79pm8brbyzipxia";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Abstractions";
+ version = "3.1.0";
+ sha256 = "1bd6hilnwp47z3l14qspdxi5f5nhv6rivarc6w8wil425bq0h3pd";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Abstractions";
+ version = "3.1.4";
+ sha256 = "07l7137pzwh0k4m53ji5j6a2zmbbzrl164p18wxcri77ds5is4g7";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Analyzers";
+ version = "3.1.0";
+ sha256 = "1pjn4wwhxgsiap7byld114kx6m0nm6696r8drspqic7lskm4y305";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Analyzers";
+ version = "3.1.4";
+ sha256 = "1zaqn9z7ns6p6jgnffzkgpziqr2wqs68g2sa0c11kaclhlhgvvbv";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Design";
+ version = "3.1.4";
+ sha256 = "10mxnbiw23ia4sln86sd3gn84yhmrb6r2kipzid4h1g15paal9gi";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Relational";
+ version = "3.1.0";
+ sha256 = "0javqw6c27ppcysigjvcjcw3mk0gg1pv2pmwfpvvryr1pb4a9n55";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Relational";
+ version = "3.1.4";
+ sha256 = "1344rsavawwg69dx8xsl08hcs43lc6h7z4mn461dcx85rirlwd0v";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
+ version = "3.1.4";
+ sha256 = "080qz0b52i7v5c1sgnqlh9px9881cfr1x06np66hdgmh0ni5c1lw";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Sqlite";
+ version = "3.1.4";
+ sha256 = "009mcmakw0p7k8xrz920a8qc0rjv361awiz8jia5i5a8p5ihgkbx";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore";
+ version = "3.1.0";
+ sha256 = "1l12lsk1xfrv5pjnm0b9w9kncgdh0pcjcbxl4zrsg82s7bs7dhda";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore";
+ version = "3.1.4";
+ sha256 = "11w63yp7fk9qwmnq3lmpf1h30mlbzfx4zpm89vrs0lprj86g0742";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Caching.Abstractions";
+ version = "3.1.0";
+ sha256 = "0j5m2a48rwyzzvbz0hpr2md35iv78b86zyqjnrjq0y4vb7sairc0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Caching.Abstractions";
+ version = "3.1.4";
+ sha256 = "09f96pvpyzylpdaiw3lsvr7p6rs4i21mmhsxl6pkivg5lpfb79sk";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Caching.Memory";
+ version = "3.1.0";
+ sha256 = "1hi61647apn25kqjcb37nqafp8fikymdrk43j3kxjbwwwx507jy1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Caching.Memory";
+ version = "3.1.4";
+ sha256 = "0b8ijxjd8lgq8mgnvh3wl4y4wbjj3v5b763y6gslm75fn43iyad8";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "1.1.2";
+ sha256 = "0z83kxfzsgqlshg4x1mhdnhlrprrwsgnnibvwk257drzy9079994";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "2.0.0";
+ sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "2.1.0";
+ sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "3.1.0";
+ sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "3.1.4";
+ sha256 = "0r33m68y1vgpmqams4sgciizl0w6y97qkp93m0hyn0nlkxqf72l6";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Binder";
+ version = "2.0.0";
+ sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Binder";
+ version = "3.1.0";
+ sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Binder";
+ version = "3.1.4";
+ sha256 = "1bnf213zlrh0m3sbhsv601yx21l5xp254jiy2g4hm7zpm8vsz1hz";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.EnvironmentVariables";
+ version = "2.1.0";
+ sha256 = "0xx3idb1l5y1da5zynlys5gyarijmw5pc9hgci8xdxbrcv6rzbjb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.FileExtensions";
+ version = "2.1.0";
+ sha256 = "1lz2xwm63clbh9dfhmygbqvcp4dsrwh5jihv82dmqd5h7lqngl40";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Ini";
+ version = "2.1.0";
+ sha256 = "0bchsljywcq36si4zs2dcx2gj8x98ww93dh2bx2z6x5ilxyjnfip";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration";
+ version = "2.0.0";
+ sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration";
+ version = "2.1.0";
+ sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration";
+ version = "3.1.0";
+ sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration";
+ version = "3.1.4";
+ sha256 = "0npc18pjl86d06czb0fy6ln3prfpwfb16p6709xx2jrsl96dp9bp";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection.Abstractions";
+ version = "2.0.0";
+ sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection.Abstractions";
+ version = "2.1.0";
+ sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection.Abstractions";
+ version = "3.1.0";
+ sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection.Abstractions";
+ version = "3.1.4";
+ sha256 = "03ys96pqca93zwxvh0vprzms09i9y0lmq32w98m6klbizq01fc06";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection";
+ version = "2.0.0";
+ sha256 = "018izzgykaqcliwarijapgki9kp2c560qv8qsxdjywr7byws5apq";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection";
+ version = "3.1.0";
+ sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection";
+ version = "3.1.4";
+ sha256 = "0rhyjgdpjm56drvrvqd9v1xq1qhyrpwwn2pjsz17g2s462rwliqx";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyModel";
+ version = "2.0.4";
+ sha256 = "041i1vlcibpzgalxxzdk81g5pgmqvmz2g61k0rqa2sky0wpvijx9";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyModel";
+ version = "3.1.1";
+ sha256 = "0qa04dspjl4qk7l8d66wqyrvhp5dxcfn2j4r8mmj362xyrp3r8sh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyModel";
+ version = "3.1.4";
+ sha256 = "0r0wv4k0ig6mrl6fr184zqbf5f010d6i2an2ws23g2bjvk8jh1bk";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Abstractions";
+ version = "2.0.0";
+ sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Abstractions";
+ version = "2.1.0";
+ sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Physical";
+ version = "2.1.0";
+ sha256 = "1firpsl5bk219i9gdfgiqw1zm68146h1dzx9hvawfpw9slfaa56w";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileSystemGlobbing";
+ version = "2.1.0";
+ sha256 = "1d2622qp22x1cnlwycnzjbc3sgi9jria26fk78zwzsa08npa3avv";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Hosting.Abstractions";
+ version = "2.0.0";
+ sha256 = "056wgjcdzvz1qwb26xv6hgxq4xya56qiimhk30v8an8cgsrjk3mc";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Hosting.Abstractions";
+ version = "2.1.0";
+ sha256 = "04vm9mdjjzg3lpp2rzpgkpn8h5bzdl3bwcr22lshd3kp602ws4k9";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Identity.Core";
+ version = "3.1.4";
+ sha256 = "0kyi03l9d7pnsvrcylc86fcxwnj59mhvmbz4c1d142f8djdrqfid";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Identity.Stores";
+ version = "3.1.4";
+ sha256 = "0jb3syy0glyn4nnd7lb7aj412xnqyrwhfavh98rbc5adq9v09nbw";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "1.0.0";
+ sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "1.1.2";
+ sha256 = "0j9b4z3pf8a5xphx3ksn6jm01rf4z001vfll5kcbxw995xcidjw1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "2.0.0";
+ sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "2.1.0";
+ sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "3.1.0";
+ sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "3.1.4";
+ sha256 = "1rkl0yqmi5vfivn641866v2mdsgdy8amym546y6lzbab39g24b5n";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Filter";
+ version = "1.1.2";
+ sha256 = "1pip87q89376xxpi3r5pf9vxhqxx21qrp179fbldbkr2m1577k9m";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging";
+ version = "2.0.0";
+ sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging";
+ version = "3.1.0";
+ sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging";
+ version = "3.1.4";
+ sha256 = "04asfrhfrcl3ijilry2pr28ql5m6pgrwapadikgcg66jjxbx75zq";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Options.ConfigurationExtensions";
+ version = "2.0.0";
+ sha256 = "1isc3rjbzz60f7wbmgcwslx5d10hm5hisnk7v54vfi2bz7132gll";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Options";
+ version = "2.0.0";
+ sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Options";
+ version = "3.1.0";
+ sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Options";
+ version = "3.1.4";
+ sha256 = "0jphncx82l7jm5xi49dfxhbh24wv86sy44022chd7bkizllsypp4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.PlatformAbstractions";
+ version = "1.1.0";
+ sha256 = "0r4j8v2vvp3kalvb11ny9cvpls3nrvqj0c81rxbkh99ynd2dbscp";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "1.1.1";
+ sha256 = "0rcwxz1r89y96s8k3bmg0v6zdqanqfp09khy5l99wnl777y15g7x";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "2.0.0";
+ sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "2.1.0";
+ sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "3.1.0";
+ sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "3.1.4";
+ sha256 = "12xvysk024aghrcwzv4525vznnk8lqmknl2vqqxhq4k5hjxpsysp";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NET.Test.Sdk";
+ version = "16.6.1";
+ sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NetCore.Analyzers";
+ version = "2.9.8";
+ sha256 = "1klybsdy9yw49zlpmix4vjdhmfaibg5h9yx03vszdnijzap7vpsx";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.0.1";
+ sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.1.0";
+ sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "2.0.0";
+ sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "2.1.2";
+ sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.0.1";
+ sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.1.0";
+ sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.TestPlatform.ObjectModel";
+ version = "16.6.1";
+ sha256 = "0q98q1nw6jl4bajm66z4a9vvh928w8ffsd3k6fpsps23ykpsky7h";
+ })
+ (fetchNuGet {
+ name = "Microsoft.TestPlatform.TestHost";
+ version = "16.6.1";
+ sha256 = "0anzvb2mda548swb2ll1hv65knb8gwjm01hwbl0pzzr607my3lix";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.0.1";
+ sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.3.0";
+ sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+ })
+ (fetchNuGet {
+ name = "MySqlConnector";
+ version = "0.61.0";
+ sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg";
+ })
+ (fetchNuGet {
+ name = "NBitcoin.Altcoins";
+ version = "2.0.21";
+ sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.33";
+ sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.4";
+ sha256 = "04iafda61izzxb691brk72qs01m5dadqb4970nw5ayck6275s71i";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.40";
+ sha256 = "1rqzn84yaww4afagwg8jg1l5qdkvqyjdfcyd5widddqwxabbsjvh";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.60";
+ sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
+ })
+ (fetchNuGet {
+ name = "NBitpayClient";
+ version = "1.0.0.39";
+ sha256 = "1sgwradg7jnb4n3chwqfkximj1qhgl3r23p0sifmaa0kql2hlira";
+ })
+ (fetchNuGet {
+ name = "NBXplorer.Client";
+ version = "3.0.19";
+ sha256 = "0nahfxdsryf5snjy87770m51v2jcry02lmb10ilsg4h2ig4pjdk4";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "1.6.1";
+ sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json.Bson";
+ version = "1.0.1";
+ sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json.Bson";
+ version = "1.0.2";
+ sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json.Schema";
+ version = "3.0.13";
+ sha256 = "04vzjz5fb588rh6ji5a0svfzjsdcfpr1qrz9hxpc64z5zhnh6sf4";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "10.0.3";
+ sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "11.0.1";
+ sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "11.0.2";
+ sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "12.0.2";
+ sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "12.0.3";
+ sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "9.0.1";
+ sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.CommandLine.Configuration";
+ version = "1.0.0.3";
+ sha256 = "0al0pd4zhjpmn8m208xjmy17cbyab68grzdvzr2lhsckwkl6b1jg";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.CommandLine";
+ version = "1.0.0.2";
+ sha256 = "08a9l18zkhcfa6f56xqylzvmqjzgxsmgkpm2r3ckvxfyml6w0qyy";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.RateLimits";
+ version = "1.1.0";
+ sha256 = "06cajxi8wnrxfwqfnk98avphwiyvg1fw428bd42lqjgq9k414rk9";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.StandardConfiguration";
+ version = "1.0.0.18";
+ sha256 = "0lgssxafv6cqlw21fb79fm0fcln0clgsk6zadcwrnjv9vampfw7b";
+ })
+ (fetchNuGet {
+ name = "NLog";
+ version = "4.5.10";
+ sha256 = "0d4yqxrhqn2k36h3v1f5pn6qqlagbzg67v6gvxqhz3s4zyc3b8rg";
+ })
+ (fetchNuGet {
+ name = "Npgsql.EntityFrameworkCore.PostgreSQL";
+ version = "3.1.4";
+ sha256 = "1ng9pbamh93g0fbnjq8ygaf40d6rs0fy4s08bjmxpa69k3s8c7a4";
+ })
+ (fetchNuGet {
+ name = "Npgsql";
+ version = "4.1.3.1";
+ sha256 = "0qk3hb8s521c2gy4k3m1i6fhpr133mnw9w85cwsy9j7ghxyca1nv";
+ })
+ (fetchNuGet {
+ name = "NuGet.Frameworks";
+ version = "5.0.0";
+ sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
+ })
+ (fetchNuGet {
+ name = "NUglify";
+ version = "1.5.12";
+ sha256 = "0f4gs31z8dwfvd246nrv3m0qkxzav37hxynx2maykza017khynyf";
+ })
+ (fetchNuGet {
+ name = "Pomelo.EntityFrameworkCore.MySql";
+ version = "3.1.1";
+ sha256 = "1jvv2q7pmh5wzsfjim7iby4r1scb30kgj9w6sbm2dp60i6vm32dx";
+ })
+ (fetchNuGet {
+ name = "Pomelo.JsonObject";
+ version = "2.2.1";
+ sha256 = "1w6s9wjbsyvq8cnqknkdzm9chnv0g5gcsrq5i94zp6br9vg7c627";
+ })
+ (fetchNuGet {
+ name = "Portable.BouncyCastle";
+ version = "1.8.1.3";
+ sha256 = "1lv1ljaz8df835jgmp3ny1xgqqjf1s9f25baw7bf8d24qlf25i2g";
+ })
+ (fetchNuGet {
+ name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
+ })
+ (fetchNuGet {
+ name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
+ })
+ (fetchNuGet {
+ name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.IO.Compression";
+ version = "4.3.0";
+ sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.0.1";
+ sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.3.0";
+ sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Security";
+ version = "4.3.0";
+ sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography.Apple";
+ version = "4.3.0";
+ sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography";
+ version = "4.0.0";
+ sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.0.0";
+ sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.3.0";
+ sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+ })
+ (fetchNuGet {
+ name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
+ })
+ (fetchNuGet {
+ name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
+ })
+ (fetchNuGet {
+ name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
+ version = "4.3.0";
+ sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
+ })
+ (fetchNuGet {
+ name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
+ })
+ (fetchNuGet {
+ name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
+ })
+ (fetchNuGet {
+ name = "Selenium.WebDriver.ChromeDriver";
+ version = "85.0.4183.8700";
+ sha256 = "0klyqmwa6yc0ibbmci51mzb2vl6n13qlk06chc9w78i0a43fs382";
+ })
+ (fetchNuGet {
+ name = "Selenium.WebDriver";
+ version = "3.141.0";
+ sha256 = "09g0zhz6n7yhxmxlrpzjdykfavr3m4z1gb4cmq304dw0gr8s89mq";
+ })
+ (fetchNuGet {
+ name = "Serilog.AspNetCore";
+ version = "3.2.0";
+ sha256 = "14d1lsw1djsshlkxbn5lkmdvj4372hnddb6788m6ix0mv4mhj3bj";
+ })
+ (fetchNuGet {
+ name = "Serilog.Extensions.Hosting";
+ version = "3.0.0";
+ sha256 = "1r01lsy4rp0wj7ffbjcf9dcg3aipdhy7066yjicja45m0z2y42w6";
+ })
+ (fetchNuGet {
+ name = "Serilog.Extensions.Logging";
+ version = "3.0.1";
+ sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a";
+ })
+ (fetchNuGet {
+ name = "Serilog.Formatting.Compact";
+ version = "1.0.0";
+ sha256 = "0mi1yzzj33v4nkyspyshhc6nn2mx3y07z5dvv26hl7hw6kb6yazw";
+ })
+ (fetchNuGet {
+ name = "Serilog.Settings.Configuration";
+ version = "3.1.0";
+ sha256 = "1cj5am4n073331gbfm2ylqb9cadl4q3ppzgwmm5c8m1drxpiwkb5";
+ })
+ (fetchNuGet {
+ name = "Serilog.Sinks.Console";
+ version = "3.1.1";
+ sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn";
+ })
+ (fetchNuGet {
+ name = "Serilog.Sinks.Debug";
+ version = "1.0.1";
+ sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22";
+ })
+ (fetchNuGet {
+ name = "Serilog.Sinks.File";
+ version = "4.1.0";
+ sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca";
+ })
+ (fetchNuGet {
+ name = "Serilog";
+ version = "2.9.0";
+ sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.bundle_e_sqlite3";
+ version = "2.0.2";
+ sha256 = "00p7n7ndmmh45fhhd3clb11igpzklm1n7r50sdrgnbi5yifv1lxl";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.core";
+ version = "2.0.2";
+ sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.lib.e_sqlite3";
+ version = "2.0.2";
+ sha256 = "0967w6r6n94hj0fma3kidb9fx1m2p3fgrw6gpsy6q6jbb33qw6vj";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.provider.dynamic_cdecl";
+ version = "2.0.2";
+ sha256 = "1lzs8yfjygrwfm3hjmkhnbnpsjzq53ijwx9whmii2r9kjg2a46if";
+ })
+ (fetchNuGet {
+ name = "SSH.NET";
+ version = "2016.1.0";
+ sha256 = "0q08bf9sdf1rf9763z4bk2mr6z381iybm73823scmq9qcpr2jk4d";
+ })
+ (fetchNuGet {
+ name = "SshNet.Security.Cryptography";
+ version = "1.2.0";
+ sha256 = "1xlj8bjavpjk6lrkypk66cxpf2xa31wv73ymrk34d72f05z0xrg0";
+ })
+ (fetchNuGet {
+ name = "System.AppContext";
+ version = "4.1.0";
+ sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
+ })
+ (fetchNuGet {
+ name = "System.AppContext";
+ version = "4.3.0";
+ sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.3.0";
+ sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.0.12";
+ sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.3.0";
+ sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "1.5.0";
+ sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "1.7.0";
+ sha256 = "1gik4sn9jsi1wcy1pyyp0r4sn2g17cwrsh24b2d52vif8p2h24zx";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "1.7.1";
+ sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
+ })
+ (fetchNuGet {
+ name = "System.Collections.NonGeneric";
+ version = "4.3.0";
+ sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Specialized";
+ version = "4.3.0";
+ sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.0.11";
+ sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.3.0";
+ sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.Annotations";
+ version = "4.7.0";
+ sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.Primitives";
+ version = "4.3.0";
+ sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.TypeConverter";
+ version = "4.3.0";
+ sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel";
+ version = "4.3.0";
+ sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
+ })
+ (fetchNuGet {
+ name = "System.Configuration.ConfigurationManager";
+ version = "4.5.0";
+ sha256 = "1frpy24mn6q7hgwayj98kkx89z861f5dmia4j6zc0a2ydgx8x02c";
+ })
+ (fetchNuGet {
+ name = "System.Console";
+ version = "4.3.0";
+ sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.0.11";
+ sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.3.0";
+ sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.0.0";
+ sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.3.0";
+ sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.7.0";
+ sha256 = "0cr0v5dz8l5ackxv6b772fjcyj2nimqmrmzanjs4cw2668v568n1";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.7.1";
+ sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.0.1";
+ sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.3.0";
+ sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.TraceSource";
+ version = "4.0.0";
+ sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.1.0";
+ sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.3.0";
+ sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.0.11";
+ sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.3.0";
+ sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.0.1";
+ sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.3.0";
+ sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.0.1";
+ sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.3.0";
+ sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.0.11";
+ sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.3.0";
+ sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+ })
+ (fetchNuGet {
+ name = "System.Interactive.Async";
+ version = "3.1.1";
+ sha256 = "03iq20gq0n2b2sdzs5jhxf46nzkfgvzip6q5248vka2rcvn1yanh";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression.ZipFile";
+ version = "4.3.0";
+ sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression";
+ version = "4.3.0";
+ sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.0.1";
+ sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.3.0";
+ sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.0.1";
+ sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.3.0";
+ sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+ })
+ (fetchNuGet {
+ name = "System.IO.Pipelines";
+ version = "4.7.2";
+ sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.1.0";
+ sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.3.0";
+ sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.1.0";
+ sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.3.0";
+ sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.1.0";
+ sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.3.0";
+ sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+ })
+ (fetchNuGet {
+ name = "System.Memory";
+ version = "4.5.0";
+ sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30";
+ })
+ (fetchNuGet {
+ name = "System.Memory";
+ version = "4.5.3";
+ sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
+ })
+ (fetchNuGet {
+ name = "System.Net.Http";
+ version = "4.1.0";
+ sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
+ })
+ (fetchNuGet {
+ name = "System.Net.Http";
+ version = "4.3.0";
+ sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+ })
+ (fetchNuGet {
+ name = "System.Net.NameResolution";
+ version = "4.0.0";
+ sha256 = "0dj3pvpv069nyia28gkl4a0fb7q33hbxz2dg25qvpah3l7pbl0qh";
+ })
+ (fetchNuGet {
+ name = "System.Net.NameResolution";
+ version = "4.3.0";
+ sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.0.11";
+ sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.3.0";
+ sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+ })
+ (fetchNuGet {
+ name = "System.Net.Requests";
+ version = "4.0.11";
+ sha256 = "13mka55sa6dg6nw4zdrih44gnp8hnj5azynz47ljsh2791lz3d9h";
+ })
+ (fetchNuGet {
+ name = "System.Net.Security";
+ version = "4.3.0";
+ sha256 = "1aa5igz31ivk6kpgsrwck3jccab7wd88wr52lddmgypmbh9mmf87";
+ })
+ (fetchNuGet {
+ name = "System.Net.Sockets";
+ version = "4.1.0";
+ sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
+ })
+ (fetchNuGet {
+ name = "System.Net.Sockets";
+ version = "4.3.0";
+ sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebHeaderCollection";
+ version = "4.0.1";
+ sha256 = "10bxpxj80c4z00z3ksrfswspq9qqsw8jwxcbzvymzycb97m9b55q";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebHeaderCollection";
+ version = "4.3.0";
+ sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebSockets.Client";
+ version = "4.3.2";
+ sha256 = "103y8lfsfa5xd1sqmq9sml4qyp4rij2i3fnnw119h119hb04l0rk";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebSockets";
+ version = "4.3.0";
+ sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.0.12";
+ sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.3.0";
+ sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.0.1";
+ sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.3.0";
+ sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.0.1";
+ sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.3.0";
+ sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.0.1";
+ sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.3.0";
+ sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.0.1";
+ sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.3.0";
+ sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Metadata";
+ version = "1.6.0";
+ sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.0.1";
+ sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.3.0";
+ sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.1.0";
+ sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.3.0";
+ sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.1.0";
+ sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.3.0";
+ sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.0.1";
+ sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.3.0";
+ sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.3.0";
+ sha256 = "149xcsa1pphlrc2zfmca9n822g4mxk7s2a44phvf34r0fajm3hk8";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.4.0";
+ sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.5.0";
+ sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.5.2";
+ sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.6.0";
+ sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.7.0";
+ sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.1.0";
+ sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.3.0";
+ sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.0.1";
+ sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.3.0";
+ sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices.RuntimeInformation";
+ version = "4.0.0";
+ sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices.RuntimeInformation";
+ version = "4.3.0";
+ sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.1.0";
+ sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.3.0";
+ sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.0.1";
+ sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.3.0";
+ sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Formatters";
+ version = "4.3.0";
+ sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.1.1";
+ sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.3.0";
+ sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.1.0";
+ sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.3.0";
+ sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+ })
+ (fetchNuGet {
+ name = "System.Security.AccessControl";
+ version = "4.5.0";
+ sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0";
+ })
+ (fetchNuGet {
+ name = "System.Security.Claims";
+ version = "4.0.1";
+ sha256 = "03dw0ls49bvsrffgwycyifjgz0qzr9r85skqhdyhfd51fqf398n6";
+ })
+ (fetchNuGet {
+ name = "System.Security.Claims";
+ version = "4.3.0";
+ sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.2.0";
+ sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.3.0";
+ sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.2.0";
+ sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.3.0";
+ sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.0.0";
+ sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.3.0";
+ sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.0.0";
+ sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.3.0";
+ sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.0.0";
+ sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.0.0";
+ sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.3.0";
+ sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.ProtectedData";
+ version = "4.5.0";
+ sha256 = "11qlc8q6b7xlspayv07718ibzvlj6ddqqxkvcbxv5b24d5kzbrb7";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.1.0";
+ sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.3.0";
+ sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+ })
+ (fetchNuGet {
+ name = "System.Security.Permissions";
+ version = "4.5.0";
+ sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal.Windows";
+ version = "4.0.0";
+ sha256 = "1d3vc8i0zss9z8p4qprls4gbh7q4218l9845kclx7wvw41809k6z";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal.Windows";
+ version = "4.3.0";
+ sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal.Windows";
+ version = "4.5.0";
+ sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal";
+ version = "4.0.1";
+ sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal";
+ version = "4.3.0";
+ sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.CodePages";
+ version = "4.5.1";
+ sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.0.11";
+ sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.3.0";
+ sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.0.11";
+ sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.3.0";
+ sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encodings.Web";
+ version = "4.4.0";
+ sha256 = "05qp3yivh6gz0vva0v3wjlj3g1b45d5jmz362f2y8ah6yb3rx088";
+ })
+ (fetchNuGet {
+ name = "System.Text.Json";
+ version = "4.7.0";
+ sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
+ })
+ (fetchNuGet {
+ name = "System.Text.Json";
+ version = "4.7.2";
+ sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.1.0";
+ sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.3.0";
+ sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Channels";
+ version = "4.5.0";
+ sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.0.0";
+ sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.3.0";
+ sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.5.3";
+ sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.0.11";
+ sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.3.0";
+ sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Thread";
+ version = "4.0.0";
+ sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+ })
+ (fetchNuGet {
+ name = "System.Threading.ThreadPool";
+ version = "4.0.10";
+ sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx";
+ })
+ (fetchNuGet {
+ name = "System.Threading.ThreadPool";
+ version = "4.3.0";
+ sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Timer";
+ version = "4.0.1";
+ sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Timer";
+ version = "4.3.0";
+ sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.0.11";
+ sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.3.0";
+ sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.0.11";
+ sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.3.0";
+ sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.0.11";
+ sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.3.0";
+ sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlDocument";
+ version = "4.0.1";
+ sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlDocument";
+ version = "4.3.0";
+ sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XPath.XmlDocument";
+ version = "4.0.1";
+ sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XPath";
+ version = "4.0.1";
+ sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m";
+ })
+ (fetchNuGet {
+ name = "Text.Analyzers";
+ version = "2.6.4";
+ sha256 = "1fm3gjnbfnjap3wphx5x48awriy14a2g3s9c1nc4m8w85k8mqdsl";
+ })
+ (fetchNuGet {
+ name = "TwentyTwenty.Storage.Amazon";
+ version = "2.12.1";
+ sha256 = "03nrkvhki35w1rqx94s97rwxl0qwqlczyiimhrkc72vjppn5p6ph";
+ })
+ (fetchNuGet {
+ name = "TwentyTwenty.Storage.Azure";
+ version = "2.12.1";
+ sha256 = "10q7gpr8kmgzmxrzj3paqlnw4d8li8scwpxkzs11ildscfp6hvlv";
+ })
+ (fetchNuGet {
+ name = "TwentyTwenty.Storage.Google";
+ version = "2.12.1";
+ sha256 = "0d8s7p9brp03h9dpv3wxnqg0xsm7d9p4k6dpxpb9jak535khxzhp";
+ })
+ (fetchNuGet {
+ name = "TwentyTwenty.Storage.Local";
+ version = "2.12.1";
+ sha256 = "1zmjqwd1v3z78ab4vdmaadh94465k1qgpv7ylv8x3sdx4z78yjm8";
+ })
+ (fetchNuGet {
+ name = "TwentyTwenty.Storage";
+ version = "2.12.1";
+ sha256 = "0m41dxzc3hh0f4j1k4q915pvcq6zr0hv1pj6b3sayrn8vjhk64qb";
+ })
+ (fetchNuGet {
+ name = "U2F.Core";
+ version = "1.0.4";
+ sha256 = "0mk32yyihigp9njs54z411fswgzr6x3kw134c7ylwy2d2wmq2n9b";
+ })
+ (fetchNuGet {
+ name = "WindowsAzure.Storage";
+ version = "9.3.3";
+ sha256 = "14b0b0nj85yvyn0h8ghr3kj6di2nkbzjxc2q98f1wcr0151xvdfx";
+ })
+ (fetchNuGet {
+ name = "xunit.abstractions";
+ version = "2.0.3";
+ sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
+ })
+ (fetchNuGet {
+ name = "xunit.analyzers";
+ version = "0.10.0";
+ sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
+ })
+ (fetchNuGet {
+ name = "xunit.assert";
+ version = "2.4.1";
+ sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
+ })
+ (fetchNuGet {
+ name = "xunit.core";
+ version = "2.4.1";
+ sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
+ })
+ (fetchNuGet {
+ name = "xunit.extensibility.core";
+ version = "2.4.1";
+ sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
+ })
+ (fetchNuGet {
+ name = "xunit.extensibility.execution";
+ version = "2.4.1";
+ sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
+ })
+ (fetchNuGet {
+ name = "xunit.runner.visualstudio";
+ version = "2.4.2";
+ sha256 = "0fi85h43nyrhfc5jzg07znh01r7cpb7bpjdc6mzb9z1pm14ppfm6";
+ })
+ (fetchNuGet {
+ name = "xunit";
+ version = "2.4.1";
+ sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
+ })
+ (fetchNuGet {
+ name = "YamlDotNet";
+ version = "8.0.0";
+ sha256 = "09hr1jimmfhcpk97p963y94h2k5p7wzcj4mpwqpdnwzbyrp2flpm";
+ })
+]
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh
new file mode 100755
index 000000000000..1f7dbedd0204
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
+
+"$scriptDir"/../nbxplorer/util/update-common.sh btcpayserver "$scriptDir"/deps.nix
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix
new file mode 100644
index 000000000000..966303ec5a65
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, libtool
+, autoconf
+, automake
+, curl
+, ncurses
+, ocl-icd
+, opencl-headers
+, libusb1
+, xorg
+, jansson }:
+
+stdenv.mkDerivation rec {
+ pname = "cgminer";
+ version = "4.11.1";
+
+ src = fetchFromGitHub {
+ owner = "ckolivas";
+ repo = "cgminer";
+ rev = "v${version}";
+ sha256 = "0l1ms3nxnjzh4mpiadikvngcr9k3jnjqy3yna207za0va0c28dj5";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ autoconf automake libtool curl ncurses ocl-icd opencl-headers
+ xorg.libX11 xorg.libXext xorg.libXinerama jansson libusb1 ];
+
+ configureScript = "./autogen.sh";
+ configureFlags = [ "--enable-scrypt"
+ "--enable-opencl"
+ "--enable-bitforce"
+ "--enable-icarus"
+ "--enable-modminer"
+ "--enable-ztex"
+ "--enable-avalon"
+ "--enable-klondike"
+ "--enable-keccak"
+ "--enable-bflsc"];
+
+ meta = with stdenv.lib; {
+ description = "CPU/GPU miner in c for bitcoin";
+ homepage = "https://github.com/ckolivas/cgminer";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ offline mmahut ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix
new file mode 100644
index 000000000000..b17876325d5e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix
@@ -0,0 +1,50 @@
+{ stdenv, python3, pkgconfig, which, libtool, autoconf, automake,
+ autogen, sqlite, gmp, zlib, fetchurl, unzip, fetchpatch, gettext }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ pname = "clightning";
+ version = "0.9.2";
+
+ src = fetchurl {
+ url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
+ sha256 = "022fw6rbn0chg0432h9q05w8qnys0hd9hf1qm2qlnnmamxw4dyfy";
+ };
+
+ enableParallelBuilding = true;
+
+ nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which unzip gettext ];
+ buildInputs =
+ let py3 = python3.withPackages (p: [ p.Mako ]);
+ in [ sqlite gmp zlib py3 ];
+
+ makeFlags = [ "prefix=$(out) VERSION=v${version}" ];
+
+ configurePhase = ''
+ ./configure --prefix=$out --disable-developer --disable-valgrind
+ '';
+
+ postPatch = ''
+ patchShebangs \
+ tools/generate-wire.py \
+ tools/update-mocks.sh \
+ tools/mockup.sh \
+ devtools/sql-rewrite.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;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix
new file mode 100644
index 000000000000..f0bcda579301
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonApplication, fetchPypi, requests, requests-cache }:
+
+buildPythonApplication rec {
+ pname = "cryptop";
+ version = "0.2.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0akrrz735vjfrm78plwyg84vabj0x3qficq9xxmy9kr40fhdkzpb";
+ };
+
+ propagatedBuildInputs = [ requests requests-cache ];
+
+ # No tests in archive
+ doCheck = false;
+
+ meta = {
+ homepage = "https://github.com/huwwp/cryptop";
+ description = "Command line Cryptocurrency Portfolio";
+ license = with lib.licenses; [ mit ];
+ maintainers = with lib.maintainers; [ bhipple ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix
new file mode 100644
index 000000000000..b55dd3b5b78d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix
@@ -0,0 +1,44 @@
+{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
+, openssl, db48, boost, zlib, miniupnpc
+, qrencode, glib, protobuf, yasm, libevent
+, util-linux
+, enable_Upnp ? false
+, disable_Wallet ? false
+, disable_Daemon ? false }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ pname = "dashpay";
+ version = "0.12.2.3";
+
+ src = fetchFromGitHub {
+ owner = "dashpay";
+ repo= "dash";
+ rev = "v${version}";
+ sha256 = "0l1gcj2xf2bal9ph9y11x8yd28fd25f55f48xbm45bfw3ij7nbaa";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ glib openssl db48 yasm boost zlib libevent
+ miniupnpc protobuf qrencode util-linux ];
+
+
+ configureFlags = [ "--with-boost-libdir=${boost.out}/lib --with-gui=no" ]
+ ++ optional enable_Upnp "--enable-upnp-default"
+ ++ optional disable_Wallet "--disable-wallet"
+ ++ optional disable_Daemon "--disable-daemon"
+ ;
+
+ meta = {
+ description = "A decentralized key/value registration and transfer system";
+ longDescription = ''
+ Dash (DASH) is an open sourced, privacy-centric digital currency
+ with instant transactions. It allows you to keep your finances
+ private as you make transactions without waits, similar to cash.
+ '';
+ homepage = "https://www.dash.org";
+ maintainers = with maintainers; [ ];
+ platforms = platforms.unix;
+ license = licenses.mit;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix
new file mode 100644
index 000000000000..e959eca48aeb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "dcrd";
+ version = "1.5.2";
+
+ src = fetchFromGitHub {
+ owner = "decred";
+ repo = "dcrd";
+ rev = "refs/tags/release-v${version}";
+ sha256 = "14pxajc8si90hnddilfm09kmljwxq6i6p53fk0g09jp000cbklkl";
+ };
+
+ vendorSha256 = "03aw6mcvp1vr01ppxy673jf5hdryd5032cxndlkaiwg005mxp1dy";
+
+ doCheck = false;
+
+ subPackages = [ "." "cmd/dcrctl" "cmd/promptsecret" ];
+
+ meta = {
+ homepage = "https://decred.org";
+ description = "Decred daemon in Go (golang)";
+ license = with lib.licenses; [ isc ];
+ maintainers = with lib.maintainers; [ juaningan ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix
new file mode 100644
index 000000000000..779e7135618a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "dcrwallet";
+ version = "1.5.1";
+
+ src = fetchFromGitHub {
+ owner = "decred";
+ repo = "dcrwallet";
+ rev = "refs/tags/v${version}";
+ sha256 = "0ij2mwvdxg78p9qbdf9wm7aaphfg4j8lqgrjyjsj3kyi1l458ds9";
+ };
+
+ vendorSha256 = "0qrrr92cad399xwr64qa9h41wqqaj0dy5mw248g5v53zars541w7";
+
+ doCheck = false;
+
+ subPackages = [ "." ];
+
+ meta = {
+ homepage = "https://decred.org";
+ description = "A secure Decred wallet daemon written in Go (golang)";
+ license = with lib.licenses; [ isc ];
+ maintainers = with lib.maintainers; [ juaningan ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix
new file mode 100644
index 000000000000..8aa693d28714
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost
+, lmdb, miniupnpc, readline }:
+
+stdenv.mkDerivation rec {
+ pname = "dero";
+ version = "0.11.7";
+
+ src = fetchFromGitHub {
+ owner = "deroproject";
+ repo = "dero";
+ rev = "v${version}";
+ sha256 = "1v8b9wbmqbpyf4jpc0v276qzk3hc5fpddcmwvv5k5yfi30nmbh5c";
+ };
+
+ nativeBuildInputs = [ cmake pkgconfig ];
+ buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
+
+ enableParallelBuilding = true;
+
+ meta = with lib; {
+ description = "Secure, private blockchain with smart contracts based on Monero";
+ homepage = "https://dero.io/";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ fpletz ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix
new file mode 100644
index 000000000000..0d0fc081a118
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, openssl
+, boost
+, libevent
+, autoreconfHook
+, db4
+, pkgconfig
+, protobuf
+, hexdump
+, zeromq
+, withGui
+, qtbase ? null
+, qttools ? null
+, wrapQtAppsHook ? null
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ pname = "digibyte";
+ version = "7.17.2";
+
+ name = pname + toString (optional (!withGui) "d") + "-" + version;
+
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "04czj7mx3wpbx4832npk686p9pg5zb6qwlcvnmvqf31hm5qylbxj";
+ };
+
+ nativeBuildInputs = [
+ autoreconfHook
+ pkgconfig
+ hexdump
+ ] ++ optionals withGui [
+ wrapQtAppsHook
+ ];
+
+ buildInputs = [
+ openssl
+ boost
+ libevent
+ db4
+ zeromq
+ ] ++ optionals withGui [
+ qtbase
+ qttools
+ protobuf
+ ];
+
+ enableParallelBuilding = true;
+
+ configureFlags = [
+ "--with-boost-libdir=${boost.out}/lib"
+ ] ++ optionals withGui [
+ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+
+ meta = {
+ description = "DigiByte (DGB) is a rapidly growing decentralized, global blockchain";
+ homepage = "https://digibyte.io/";
+ license = licenses.mit;
+ maintainers = [ maintainers.mmahut ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix
new file mode 100644
index 000000000000..527b307042c3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix
@@ -0,0 +1,41 @@
+{ stdenv , fetchFromGitHub
+, pkgconfig, autoreconfHook
+, db5, openssl, boost, zlib, miniupnpc, libevent
+, protobuf, util-linux, qt4, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+ version = "1.14.2";
+
+ src = fetchFromGitHub {
+ owner = "dogecoin";
+ repo = "dogecoin";
+ rev = "v${version}";
+ sha256 = "1gw46q63mjzwvb17ck6p1bap2xpdrap08szw2kjhasa3yvd5swyy";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ openssl db5 openssl util-linux
+ protobuf boost zlib miniupnpc libevent ]
+ ++ optionals withGui [ qt4 qrencode ];
+
+ configureFlags = [ "--with-incompatible-bdb"
+ "--with-boost-libdir=${boost.out}/lib" ]
+ ++ optionals withGui [ "--with-gui" ];
+
+ meta = {
+ description = "Wow, such coin, much shiba, very rich";
+ longDescription = ''
+ Dogecoin is a decentralized, peer-to-peer digital currency that
+ enables you to easily send money online. Think of it as "the
+ internet currency."
+ It is named after a famous Internet meme, the "Doge" - a Shiba Inu dog.
+ '';
+ homepage = "http://www.dogecoin.com/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ edwtjo offline ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
new file mode 100644
index 000000000000..6b686d0b2d6c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+ pname = "ergo";
+ version = "3.3.6";
+
+ src = fetchurl {
+ url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
+ sha256 = "1zi559ixjxxsrpvvjbxa1d0g96px3h9amjvy149sfhp7b8w5hhk3";
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ dontUnpack = true;
+
+ installPhase = ''
+ makeWrapper ${jre}/bin/java $out/bin/ergo --add-flags "-jar $src"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Open protocol that implements modern scientific ideas in the blockchain area";
+ homepage = "https://ergoplatform.org/en/";
+ license = licenses.cc0;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ mmahut ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix
new file mode 100644
index 000000000000..ad574c82b464
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "ethabi";
+ version = "11.0.0";
+
+ src = fetchFromGitHub {
+ owner = "paritytech";
+ repo = "ethabi";
+ rev = "v${version}";
+ sha256 = "1gqd3vwsvv1wvi659qcdywgmh41swblpwmmxb033k8irw581dwq4";
+ };
+
+ cargoSha256 = "1hx8qw51rl7sn9jmnclw0hc4rx619hf78hpaih5mvny3k0zgiwpm";
+
+ meta = with stdenv.lib; {
+ description = "Ethereum function call encoding (ABI) utility";
+ homepage = "https://github.com/ethcore/ethabi/";
+ maintainers = [ maintainers.dbrock ];
+ license = licenses.gpl3;
+ inherit version;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
new file mode 100644
index 000000000000..3992c7824851
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, pango,
+atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, util-linux, alsaLib, dbus, at-spi2-atk,
+cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core }:
+
+stdenv.mkDerivation rec {
+ pname = "exodus";
+ version = "20.12.4";
+
+ src = fetchurl {
+ url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
+ sha256 = "1j1iqmcbwfj72l7g83ah701bipas9cqwazyhh0af5hp2ckj9nmmf";
+ };
+
+ sourceRoot = ".";
+ unpackCmd = ''
+ ${unzip}/bin/unzip "$src" -x "Exodus*/lib*so"
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin $out/share/applications
+ cd Exodus-linux-x64
+ cp -r . $out
+ ln -s $out/Exodus $out/bin/Exodus
+ ln -s $out/bin/Exodus $out/bin/exodus
+ ln -s $out/exodus.desktop $out/share/applications
+ substituteInPlace $out/share/applications/exodus.desktop \
+ --replace 'Exec=bash -c "cd `dirname %k` && ./Exodus"' "Exec=Exodus"
+ '';
+
+ dontPatchELF = true;
+ dontBuild = true;
+
+ preFixup = let
+ libPath = lib.makeLibraryPath [
+ glib
+ nss
+ nspr
+ gtk3-x11
+ pango
+ atk
+ cairo
+ gdk-pixbuf
+ xorg.libX11
+ xorg.libxcb
+ xorg.libXcomposite
+ xorg.libXcursor
+ xorg.libXdamage
+ xorg.libXext
+ xorg.libXfixes
+ xorg.libXi
+ xorg.libXrender
+ xorg.libXtst
+ xorg_sys_opengl
+ util-linux
+ xorg.libXrandr
+ xorg.libXScrnSaver
+ alsaLib
+ dbus.lib
+ at-spi2-atk
+ at-spi2-core
+ cups.lib
+ libpulseaudio
+ systemd
+ vivaldi-ffmpeg-codecs
+ ];
+ in ''
+ patchelf \
+ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+ --set-rpath "${libPath}" \
+ $out/Exodus
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://www.exodus.io/";
+ description = "Top-rated cryptocurrency wallet with Trezor integration and built-in Exchange";
+ license = licenses.unfree;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ mmahut rople380 ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch
new file mode 100644
index 000000000000..c49bbc432519
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch
@@ -0,0 +1,15 @@
+--- bitcoin-abc-v0.15.0-src/build-aux/m4/bitcoin_qt.m4 1970-01-01 01:00:01.000000000 +0100
++++ bitcoin-abc-v0.15.0-src.org/build-aux/m4/bitcoin_qt.m4 2017-09-27 23:38:44.748384197 +0100
+@@ -35,11 +35,7 @@
+ dnl Output: $1 is set to the path of $2 if found. $2 are searched in order.
+ AC_DEFUN([BITCOIN_QT_PATH_PROGS],[
+ BITCOIN_QT_CHECK([
+- if test "x$3" != x; then
+- AC_PATH_PROGS($1,$2,,$3)
+- else
+- AC_PATH_PROGS($1,$2)
+- fi
++ AC_PATH_PROGS($1,$2)
+ if test "x$$1" = x && test "x$4" != xyes; then
+ BITCOIN_QT_FAIL([$1 not found])
+ fi
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix
new file mode 100644
index 000000000000..b0f464cbfdc8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix
@@ -0,0 +1,46 @@
+{ stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
+
+buildGoModule rec {
+ pname = "go-ethereum";
+ version = "1.9.24";
+
+ src = fetchFromGitHub {
+ owner = "ethereum";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0nrx5fwfij9wajd3lj76hh1yv4zg4q3jc76a76m22djn1njl0n5j";
+ };
+
+ runVend = true;
+ vendorSha256 = "1qbg44cryiv9kvcak6qjrbmkc9bxyk5fybj62vdkskqfjvv86068";
+
+ doCheck = false;
+
+ subPackages = [
+ "cmd/abidump"
+ "cmd/abigen"
+ "cmd/bootnode"
+ "cmd/checkpoint-admin"
+ "cmd/clef"
+ "cmd/devp2p"
+ "cmd/ethkey"
+ "cmd/evm"
+ "cmd/faucet"
+ "cmd/geth"
+ "cmd/p2psim"
+ "cmd/puppeth"
+ "cmd/rlpdump"
+ "cmd/utils"
+ ];
+
+ # Fix for usb-related segmentation faults on darwin
+ propagatedBuildInputs =
+ stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://geth.ethereum.org/";
+ description = "Official golang implementation of the Ethereum protocol";
+ license = with licenses; [ lgpl3 gpl3 ];
+ maintainers = with maintainers; [ adisbladis lionello xrelkd RaghavSood ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
new file mode 100644
index 000000000000..4c64c595fefb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, makeDesktopItem, appimageTools, imagemagick }:
+
+let
+ pname = "ledger-live-desktop";
+ version = "2.18.0";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
+ sha256 = "19sx9n5mij68v07vy65h1c16rgbpll3kagr437cjb7r95k3nk2zn";
+ };
+
+ appimageContents = appimageTools.extractType2 {
+ inherit name src;
+ };
+in appimageTools.wrapType2 rec {
+ inherit name src;
+
+ extraInstallCommands = ''
+ mv $out/bin/${name} $out/bin/${pname}
+ install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
+ install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
+ ${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png
+ install -m 444 -D ledger-live-desktop_512.png $out/share/icons/hicolor/512x512/apps/ledger-live-desktop.png
+ substituteInPlace $out/share/applications/ledger-live-desktop.desktop \
+ --replace 'Exec=AppRun' 'Exec=${pname}'
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Wallet app for Ledger Nano S and Ledger Blue";
+ homepage = "https://www.ledger.com/live";
+ license = licenses.mit;
+ maintainers = with maintainers; [ thedavidmeister nyanloutre RaghavSood th0rgal ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix
new file mode 100644
index 000000000000..85adbec718f3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix
@@ -0,0 +1,55 @@
+{ stdenv, mkDerivation, fetchFromGitHub
+, pkgconfig, autoreconfHook
+, openssl, db48, boost, zlib, miniupnpc
+, glib, protobuf, util-linux, qrencode
+, AppKit
+, withGui ? true, libevent
+, qtbase, qttools
+, zeromq
+}:
+
+with stdenv.lib;
+
+mkDerivation rec {
+
+ name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+ version = "0.18.1";
+
+ src = fetchFromGitHub {
+ owner = "litecoin-project";
+ repo = "litecoin";
+ rev = "v${version}";
+ sha256 = "11753zhyx1kmrlljc6kbjwrcb06dfcrsqvmw3iaki9a132qk6l5c";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ openssl db48 boost zlib zeromq
+ miniupnpc glib protobuf util-linux libevent ]
+ ++ optionals stdenv.isDarwin [ AppKit ]
+ ++ optionals withGui [ qtbase qttools qrencode ];
+
+ configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
+ ++ optionals withGui [
+ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" ];
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
+ longDescription= ''
+ Litecoin is a peer-to-peer Internet currency that enables instant payments
+ to anyone in the world. It is based on the Bitcoin protocol but differs
+ from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
+ Litecoin provides faster transaction confirmations (2.5 minutes on average)
+ and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
+ the regular computers and GPUs most people already have.
+ The Litecoin network is scheduled to produce 84 million currency units.
+ '';
+ homepage = "https://litecoin.org/";
+ platforms = platforms.unix;
+ license = licenses.mit;
+ broken = stdenv.isDarwin;
+ maintainers = with maintainers; [ offline ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix
new file mode 100644
index 000000000000..831195f06f0d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix
@@ -0,0 +1,40 @@
+{ buildGoModule, fetchFromGitHub, lib
+, tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" ]
+}:
+
+buildGoModule rec {
+ pname = "lnd";
+ version = "0.11.0-beta";
+
+ src = fetchFromGitHub {
+ owner = "lightningnetwork";
+ repo = "lnd";
+ rev = "v${version}";
+ sha256 = "1r1hwz8ka5mnmrvj9zcd78kn68g8fg3d4bdx9i0xy4sc2hh1dcpj";
+ };
+
+ vendorSha256 = "090b9sxvdwh787w0rhrcbky9pbx64qgqx1pvk9ysk3886nxdhf7k";
+
+ doCheck = false;
+
+ subPackages = ["cmd/lncli" "cmd/lnd"];
+
+ preBuild = let
+ buildVars = {
+ RawTags = lib.concatStringsSep "," tags;
+ GoVersion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')";
+ };
+ buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X github.com/lightningnetwork/lnd/build.${k}=${v}") buildVars);
+ in
+ lib.optionalString (tags != []) ''
+ buildFlagsArray+=("-tags=${lib.concatStringsSep " " tags}")
+ buildFlagsArray+=("-ldflags=${buildVarsFlags}")
+ '';
+
+ meta = with lib; {
+ description = "Lightning Network Daemon";
+ homepage = "https://github.com/lightningnetwork/lnd";
+ license = lib.licenses.mit;
+ maintainers = with maintainers; [ cypherpunk2140 ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix
new file mode 100644
index 000000000000..dfa005abb6ec
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost
+, lmdb, miniupnpc, readline }:
+
+stdenv.mkDerivation rec {
+ pname = "masari";
+ version = "0.1.4.0";
+
+ src = fetchFromGitHub {
+ owner = "masari-project";
+ repo = "masari";
+ rev = "v${version}";
+ sha256 = "0l6i21wkq5f6z8xr756i7vqgkzk7lixaa31ydy34fkfcqxppgxz3";
+ };
+
+ nativeBuildInputs = [ cmake pkgconfig ];
+ buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
+
+ enableParallelBuilding = true;
+
+ meta = with lib; {
+ description = "scalability-focused, untraceable, secure, and fungible cryptocurrency using the RingCT protocol";
+ homepage = "https://www.getmasari.org/";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ fpletz ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
new file mode 100644
index 000000000000..16f4aefe349e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
@@ -0,0 +1,111 @@
+{ stdenv, wrapQtAppsHook, makeDesktopItem
+, fetchFromGitHub
+, cmake, qttools, pkgconfig
+, qtbase, qtdeclarative, qtgraphicaleffects
+, qtmultimedia, qtxmlpatterns
+, qtquickcontrols, qtquickcontrols2
+, monero, miniupnpc, unbound, readline
+, boost, libunwind, libsodium, pcsclite
+, randomx, zeromq, libgcrypt, libgpgerror
+, hidapi, rapidjson
+, trezorSupport ? true
+, libusb1 ? null
+, protobuf ? null
+, python3 ? null
+}:
+
+with stdenv.lib;
+
+assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ];
+
+let
+ arch = if stdenv.isx86_64 then "x86-64"
+ else if stdenv.isi686 then "i686"
+ else if stdenv.isAarch64 then "armv8-a"
+ else throw "unsupported architecture";
+in
+
+stdenv.mkDerivation rec {
+ pname = "monero-gui";
+ version = "0.17.1.5";
+
+ src = fetchFromGitHub {
+ owner = "monero-project";
+ repo = "monero-gui";
+ rev = "v${version}";
+ sha256 = "0qlcqli0wvrjfy89mbgh1hpmk60dxgn5sws93h8lhgyfwx557iw0";
+ };
+
+ nativeBuildInputs = [
+ cmake pkgconfig wrapQtAppsHook
+ (getDev qttools)
+ ];
+
+ buildInputs = [
+ qtbase qtdeclarative qtgraphicaleffects
+ qtmultimedia qtquickcontrols qtquickcontrols2
+ qtxmlpatterns
+ monero miniupnpc unbound readline
+ randomx libgcrypt libgpgerror
+ boost libunwind libsodium pcsclite
+ zeromq hidapi rapidjson
+ ] ++ optionals trezorSupport [ libusb1 protobuf python3 ];
+
+ postUnpack = ''
+ # copy monero sources here
+ # (needs to be writable)
+ cp -r ${monero.source}/* source/monero
+ chmod -R +w source/monero
+ '';
+
+ patches = [ ./move-log-file.patch ];
+
+ postPatch = ''
+ # set monero-gui version
+ substituteInPlace src/version.js.in \
+ --replace '@VERSION_TAG_GUI@' '${version}'
+
+ # use monerod from the monero package
+ substituteInPlace src/daemon/DaemonManager.cpp \
+ --replace 'QApplication::applicationDirPath() + "' '"${monero}/bin'
+
+ # only build external deps, *not* the full monero
+ substituteInPlace CMakeLists.txt \
+ --replace 'add_subdirectory(monero)' \
+ 'add_subdirectory(monero EXCLUDE_FROM_ALL)'
+ '';
+
+ cmakeFlags = [ "-DARCH=${arch}" ];
+
+ desktopItem = makeDesktopItem {
+ name = "monero-wallet-gui";
+ exec = "monero-wallet-gui";
+ icon = "monero";
+ desktopName = "Monero";
+ genericName = "Wallet";
+ categories = "Network;Utility;";
+ };
+
+ postInstall = ''
+ # install desktop entry
+ install -Dm644 -t $out/share/applications \
+ ${desktopItem}/share/applications/*
+
+ # install icons
+ for n in 16 24 32 48 64 96 128 256; do
+ size=$n"x"$n
+ install -Dm644 \
+ -t $out/share/icons/hicolor/$size/apps/monero.png \
+ $src/images/appicons/$size.png
+ done;
+ '';
+
+ meta = {
+ description = "Private, secure, untraceable currency";
+ homepage = "https://getmonero.org/";
+ license = licenses.bsd3;
+ platforms = platforms.all;
+ badPlatforms = platforms.darwin;
+ maintainers = with maintainers; [ rnhmjoj ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch
new file mode 100644
index 000000000000..6d3313624e37
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch
@@ -0,0 +1,14 @@
+diff --git a/src/main/main.cpp b/src/main/main.cpp
+index c5210e5f..45794d72 100644
+--- a/src/main/main.cpp
++++ b/src/main/main.cpp
+@@ -220,6 +220,9 @@ int main(int argc, char *argv[])
+ QCommandLineOption logPathOption(QStringList() << "l" << "log-file",
+ QCoreApplication::translate("main", "Log to specified file"),
+ QCoreApplication::translate("main", "file"));
++ logPathOption.setDefaultValue(
++ QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
++ + "/monero-wallet-gui.log");
+
+ QCommandLineOption testQmlOption("test-qml");
+ testQmlOption.setFlags(QCommandLineOption::HiddenFromHelp);
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix
new file mode 100644
index 000000000000..2978d65e2ef0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, pkgconfig
+, boost, miniupnpc, openssl, unbound
+, zeromq, pcsclite, readline, libsodium, hidapi
+, randomx, rapidjson
+, CoreData, IOKit, PCSC
+, trezorSupport ? true
+, libusb1 ? null
+, protobuf ? null
+, python3 ? null
+}:
+
+with stdenv.lib;
+
+assert stdenv.isDarwin -> IOKit != null;
+assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ];
+
+stdenv.mkDerivation rec {
+ pname = "monero";
+ version = "0.17.1.5";
+
+ src = fetchFromGitHub {
+ owner = "monero-project";
+ repo = "monero";
+ rev = "v${version}";
+ sha256 = "0yy9n2qng02j314h8fh5n0mcy6vpdks0yk4d8ifn8hj03f3g2c8b";
+ fetchSubmodules = true;
+ };
+
+ patches = [
+ ./use-system-libraries.patch
+ ];
+
+ postPatch = ''
+ # remove vendored libraries
+ rm -r external/{miniupnp,randomx,rapidjson,unbound}
+ # export patched source for monero-gui
+ cp -r . $source
+ '';
+
+ nativeBuildInputs = [ cmake pkgconfig ];
+
+ buildInputs = [
+ boost miniupnpc openssl unbound
+ zeromq pcsclite readline
+ libsodium hidapi randomx rapidjson
+ protobuf
+ ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
+ ++ optionals trezorSupport [ libusb1 protobuf python3 ];
+
+ cmakeFlags = [
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DUSE_DEVICE_TREZOR=ON"
+ "-DBUILD_GUI_DEPS=ON"
+ "-DReadline_ROOT_DIR=${readline.dev}"
+ "-DRandomX_ROOT_DIR=${randomx}"
+ ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
+
+ outputs = [ "out" "source" ];
+
+ meta = with stdenv.lib; {
+ description = "Private, secure, untraceable currency";
+ homepage = "https://getmonero.org/";
+ license = licenses.bsd3;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ ehmry rnhmjoj ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch
new file mode 100644
index 000000000000..57e2a2e9a696
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch
@@ -0,0 +1,69 @@
+diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
+index a8916a7d0..39ec7747b 100644
+--- a/external/CMakeLists.txt
++++ b/external/CMakeLists.txt
+@@ -37,34 +37,16 @@
+
+ find_package(Miniupnpc REQUIRED)
+
+-message(STATUS "Using in-tree miniupnpc")
+-add_subdirectory(miniupnp/miniupnpc)
+-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
+-if(MSVC)
+- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
+-elseif(NOT MSVC)
+- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
+-endif()
+-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE")
+-endif()
+-
+-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
++set(UPNP_STATIC false PARENT_SCOPE)
++set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
++set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
+
+ find_package(Unbound)
+
+ if(NOT UNBOUND_INCLUDE_DIR OR STATIC)
+- # NOTE: If STATIC is true, CMAKE_FIND_LIBRARY_SUFFIXES has been reordered.
+- # unbound has config tests which used OpenSSL libraries, so -ldl may need to
+- # be set in this case.
+- # The unbound CMakeLists.txt can set it, since it's also needed for the
+- # static OpenSSL libraries set up there after with target_link_libraries.
+- add_subdirectory(unbound)
+-
+- set(UNBOUND_STATIC true PARENT_SCOPE)
+- set(UNBOUND_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/unbound/libunbound" PARENT_SCOPE)
+- set(UNBOUND_LIBRARY "unbound" PARENT_SCOPE)
+- set(UNBOUND_LIBRARY_DIRS "${LIBEVENT2_LIBDIR}" PARENT_SCOPE)
++ set(UNBOUND_STATIC false PARENT_SCOPE)
++ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
++ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
+ else()
+ message(STATUS "Found libunbound include (unbound.h) in ${UNBOUND_INCLUDE_DIR}")
+ if(UNBOUND_LIBRARIES)
+@@ -81,4 +63,5 @@ endif()
+ add_subdirectory(db_drivers)
+ add_subdirectory(easylogging++)
+ add_subdirectory(qrcodegen)
+-add_subdirectory(randomx EXCLUDE_FROM_ALL)
++
++find_library(RANDOMX_LIBRARIES NAMES RandomX)
+diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
+index 175741146..088b582f7 100644
+--- a/src/p2p/net_node.inl
++++ b/src/p2p/net_node.inl
+@@ -60,9 +60,9 @@
+ #include "cryptonote_core/cryptonote_core.h"
+ #include "net/parse.h"
+
+-#include <miniupnp/miniupnpc/miniupnpc.h>
+-#include <miniupnp/miniupnpc/upnpcommands.h>
+-#include <miniupnp/miniupnpc/upnperrors.h>
++#include <miniupnpc/miniupnpc.h>
++#include <miniupnpc/upnpcommands.h>
++#include <miniupnpc/upnperrors.h>
+
+ #undef MONERO_DEFAULT_LOG_CATEGORY
+ #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix
new file mode 100644
index 000000000000..77e603e8380b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix
@@ -0,0 +1,59 @@
+{ lib, appimageTools, fetchurl, makeDesktopItem
+, gsettings-desktop-schemas, gtk2
+}:
+
+let
+ pname = "MyCrypto";
+ version = "1.7.12";
+ sha256 = "0zmdmkli9zxygrcvrd4lbi0xqyq32dqlkxby8lsjknj1nd6l26n3";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "https://github.com/mycryptohq/mycrypto/releases/download/${version}/linux-x86-64_${version}_MyCrypto.AppImage";
+ inherit sha256;
+ };
+
+ appimageContents = appimageTools.extractType2 {
+ inherit name src;
+ };
+
+ desktopItem = makeDesktopItem {
+ name = pname;
+ desktopName = pname;
+ comment = "MyCrypto is a free, open-source interface for interacting with the blockchain";
+ exec = pname;
+ icon = "mycrypto";
+ categories = "Finance;";
+ };
+
+in appimageTools.wrapType2 rec {
+ inherit name src;
+
+ profile = ''
+ export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk2}/share/gsettings-schemas/${gtk2.name}:$XDG_DATA_DIRS
+ '';
+
+ multiPkgs = null; # no p32bit needed
+ extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+
+ extraInstallCommands = ''
+ mv $out/bin/{${name},${pname}}
+
+ mkdir -p $out/share
+ cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
+ chmod -R +w $out/share
+ mv $out/share/icons/hicolor/{0x0,256x256}
+ '';
+
+ meta = with lib; {
+ description = "A free, open-source interface for interacting with the blockchain";
+ longDescription = ''
+ MyCrypto is an open-source, client-side tool for generating ether wallets,
+ handling ERC-20 tokens, and interacting with the blockchain more easily.
+ '';
+ homepage = "https://mycrypto.com";
+ license = licenses.mit;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ oxalica ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix
new file mode 100644
index 000000000000..cbce17731043
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkgconfig, qt4, protobuf, qrencode, hexdump
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ version = "nc0.20.1";
+ name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
+
+ src = fetchFromGitHub {
+ owner = "namecoin";
+ repo = "namecoin-core";
+ rev = version;
+ sha256 = "1wpfp9y95lmfg2nk1xqzchwck1wk6gwkya1rj07mf5in9jngxk9z";
+ };
+
+ nativeBuildInputs = [
+ autoreconfHook
+ pkgconfig
+ hexdump
+ ];
+
+ buildInputs = [
+ openssl
+ boost
+ libevent
+ db4
+ miniupnpc
+ eject
+ ] ++ optionals withGui [
+ qt4
+ protobuf
+ qrencode
+ ];
+
+ enableParallelBuilding = true;
+
+ configureFlags = [
+ "--with-boost-libdir=${boost.out}/lib"
+ ];
+
+ meta = {
+ description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
+ homepage = "https://namecoin.org";
+ license = licenses.mit;
+ maintainers = with maintainers; [ infinisil ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch
new file mode 100644
index 000000000000..5bbec1d39bea
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b43f02f6..4470abbf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -119,7 +119,7 @@ endif (RAIBLOCKS_SECURE_RPC)
+
+ include_directories (${CMAKE_SOURCE_DIR})
+
+-set(Boost_USE_STATIC_LIBS ON)
++add_definitions(-DBOOST_LOG_DYN_LINK)
+ set(Boost_USE_MULTITHREADED ON)
+
+ if (BOOST_CUSTOM)
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
new file mode 100644
index 000000000000..664e26740629
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -0,0 +1,64 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook, boost, libGL
+, qtbase}:
+
+stdenv.mkDerivation rec {
+
+ pname = "nano-wallet";
+ version = "20.0";
+
+ src = fetchFromGitHub {
+ owner = "nanocurrency";
+ repo = "raiblocks";
+ rev = "V${version}";
+ sha256 = "12nrjjd89yjzx20d85ccmp395pl0djpx0x0qb8dgka8xfy11k7xn";
+ fetchSubmodules = true;
+ };
+
+ # Use a patch to force dynamic linking
+ patches = [
+ ./CMakeLists.txt.patch
+ ];
+
+ cmakeFlags = let
+ options = {
+ BOOST_ROOT = boost;
+ Boost_USE_STATIC_LIBS = "OFF";
+ RAIBLOCKS_GUI = "ON";
+ RAIBLOCKS_TEST = "ON";
+ Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5";
+ Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core";
+ Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui";
+ Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets";
+ };
+ optionToFlag = name: value: "-D${name}=${value}";
+ in lib.mapAttrsToList optionToFlag options;
+
+ nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
+ buildInputs = [ boost libGL qtbase ];
+
+ buildPhase = ''
+ make nano_wallet
+ '';
+
+ # Move executables under bin directory
+ postInstall = ''
+ mkdir -p $out/bin
+ mv $out/nano* $out/bin/
+ '';
+
+ checkPhase = ''
+ ./core_test
+ '';
+
+ meta = {
+ inherit version;
+ description = "Wallet for Nano cryptocurrency";
+ homepage = "https://nano.org/en/wallet/";
+ license = lib.licenses.bsd2;
+ # Fails on Darwin. See:
+ # https://github.com/NixOS/nixpkgs/pull/39295#issuecomment-386800962
+ platforms = lib.platforms.linux;
+ maintainers = with lib.maintainers; [ jluttine ];
+ };
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
new file mode 100644
index 000000000000..45143a797e5b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -0,0 +1,54 @@
+{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
+ dotnetPackages, dotnetCorePackages
+}:
+
+let
+ deps = import ./deps.nix {
+ fetchNuGet = { name, version, sha256 }: fetchurl {
+ name = "nuget-${name}-${version}.nupkg";
+ url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+ inherit sha256;
+ };
+ };
+ dotnetSdk = dotnetCorePackages.sdk_3_1;
+in
+
+stdenv.mkDerivation rec {
+ pname = "nbxplorer";
+ version = "2.1.46";
+
+ src = fetchFromGitHub {
+ owner = "dgarage";
+ repo = "NBXplorer";
+ rev = "v${version}";
+ sha256 = "1aph7yiwmch7s7x1qkzqv1shs3v6kg8i2s7266la0yp9ksf3w35p";
+ };
+
+ nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
+
+ buildPhase = ''
+ export HOME=$TMP/home
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+
+ nuget sources Add -Name tmpsrc -Source $TMP/nuget
+ nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
+
+ dotnet restore --source $TMP/nuget NBXplorer/NBXplorer.csproj
+ dotnet publish --no-restore --output $out/share/$pname -c Release NBXplorer/NBXplorer.csproj
+ '';
+
+ installPhase = ''
+ makeWrapper $out/share/$pname/NBXplorer $out/bin/$pname \
+ --set DOTNET_ROOT "${dotnetSdk}"
+ '';
+
+ dontStrip = true;
+
+ meta = with lib; {
+ description = "Minimalist UTXO tracker for HD Cryptocurrency Wallets";
+ maintainers = with maintainers; [ kcalvinalvin earvstedt ];
+ license = lib.licenses.mit;
+ platforms = lib.platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
new file mode 100644
index 000000000000..85d395089de1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -0,0 +1,1077 @@
+{ fetchNuGet }: [
+ (fetchNuGet {
+ name = "DBTrie";
+ version = "1.0.38";
+ sha256 = "09n9f2j0pha2np9cpbgjfs19jwvfmrglws89izarq71gl8jia6d9";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.JsonPatch";
+ version = "3.1.5";
+ sha256 = "0agcp9c8zf59bliybjfg5whby7k1i1xc4sccyyyj3qcx1snf6lfx";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
+ version = "3.1.5";
+ sha256 = "1n76xr3jn4bcxm9f3lk8k76zn39mhyqcj5b0dqhi2xykyvvrqjgc";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Azure.Amqp";
+ version = "2.4.2";
+ sha256 = "0pfgl6fnw3apwasfg1dp5pvi5h0z0vmznhn2bfsgwndn1xlfw1g9";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Azure.ServiceBus";
+ version = "4.1.3";
+ sha256 = "1mj21nal3hv8b5678rah808521c5rkb0yh6hrlqirsdgxwnl6z6g";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Azure.Services.AppAuthentication";
+ version = "1.0.3";
+ sha256 = "0as64agcsilwgbvwx7iw3abdxyp9cbfpczbagjz49mqmmgnqp899";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeCoverage";
+ version = "16.7.1";
+ sha256 = "1farw63445cdyciplfs6l9j1gayxw16rkzmrwsiswfyjhqz70xd4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.0.1";
+ sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.3.0";
+ sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.7.0";
+ sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "2.1.0";
+ sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.EnvironmentVariables";
+ version = "2.1.0";
+ sha256 = "0xx3idb1l5y1da5zynlys5gyarijmw5pc9hgci8xdxbrcv6rzbjb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.FileExtensions";
+ version = "2.1.0";
+ sha256 = "1lz2xwm63clbh9dfhmygbqvcp4dsrwh5jihv82dmqd5h7lqngl40";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Ini";
+ version = "2.1.0";
+ sha256 = "0bchsljywcq36si4zs2dcx2gj8x98ww93dh2bx2z6x5ilxyjnfip";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration";
+ version = "2.1.0";
+ sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Abstractions";
+ version = "2.1.0";
+ sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Physical";
+ version = "2.1.0";
+ sha256 = "1firpsl5bk219i9gdfgiqw1zm68146h1dzx9hvawfpw9slfaa56w";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileSystemGlobbing";
+ version = "2.1.0";
+ sha256 = "1d2622qp22x1cnlwycnzjbc3sgi9jria26fk78zwzsa08npa3avv";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "1.0.0";
+ sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "2.1.0";
+ sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "2.1.0";
+ sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.IdentityModel.Clients.ActiveDirectory";
+ version = "3.14.2";
+ sha256 = "0g9a2z1qjxd71lqqghp0a542xk9jkvz951bbnnnw43is4hlnqncq";
+ })
+ (fetchNuGet {
+ name = "Microsoft.IdentityModel.JsonWebTokens";
+ version = "5.4.0";
+ sha256 = "0a5fn0p10dmkwa7vvbq28xw78aq33xm7c82l7vhla95n0lr178n8";
+ })
+ (fetchNuGet {
+ name = "Microsoft.IdentityModel.Logging";
+ version = "5.4.0";
+ sha256 = "1idlpyg3q3syam6aflfbnsa7iql685mjralr1cnfpryf00lm59v0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.IdentityModel.Tokens";
+ version = "5.4.0";
+ sha256 = "0gpdh5rs0p97zm41pphha8n3ccd50b1iszikj3917f111khpw8l0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NET.Test.Sdk";
+ version = "16.7.1";
+ sha256 = "0yqxipj74ax2n76w9ccydppx78ym8m5fda88qnvj4670qjvl0kf8";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.0.1";
+ sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.0.2";
+ sha256 = "17rrj0awknxx6rpdxr7yijdxqdmbbpdlcf2nsadjbd4d2gw7dck0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.1.0";
+ sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.0.1";
+ sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.1.0";
+ sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.TestPlatform.ObjectModel";
+ version = "16.7.1";
+ sha256 = "0s9dyh99gzdpk1i5v468i2r9m6i3jrr41r394pwdwiajsz99kay0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.TestPlatform.TestHost";
+ version = "16.7.1";
+ sha256 = "1xik06rxn9ps83in0zn9vcl2ibv3acmdqvrx07qq89lxj1sgqlhs";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.0.1";
+ sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.3.0";
+ sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Registry";
+ version = "4.3.0";
+ sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7";
+ })
+ (fetchNuGet {
+ name = "NBitcoin.Altcoins";
+ version = "2.0.21";
+ sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
+ })
+ (fetchNuGet {
+ name = "NBitcoin.TestFramework";
+ version = "2.0.12";
+ sha256 = "1d6lmymc9x3p74c8hc2x3m61ncnkqqgrddw9cw2m0zkvilkncsns";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.58";
+ sha256 = "0qim9xbbj380254iyi1jsh2gnr90ddwd2593jw9a8bjwnlk7qr2c";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.60";
+ sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "1.6.1";
+ sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "2.0.3";
+ sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json.Bson";
+ version = "1.0.2";
+ sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "10.0.3";
+ sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "11.0.1";
+ sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "12.0.2";
+ sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "9.0.1";
+ sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.CommandLine.Configuration";
+ version = "1.0.0.3";
+ sha256 = "0al0pd4zhjpmn8m208xjmy17cbyab68grzdvzr2lhsckwkl6b1jg";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.CommandLine";
+ version = "1.0.0.2";
+ sha256 = "08a9l18zkhcfa6f56xqylzvmqjzgxsmgkpm2r3ckvxfyml6w0qyy";
+ })
+ (fetchNuGet {
+ name = "NicolasDorier.StandardConfiguration";
+ version = "1.0.0.18";
+ sha256 = "0lgssxafv6cqlw21fb79fm0fcln0clgsk6zadcwrnjv9vampfw7b";
+ })
+ (fetchNuGet {
+ name = "NuGet.Frameworks";
+ version = "5.0.0";
+ sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
+ })
+ (fetchNuGet {
+ name = "RabbitMQ.Client";
+ version = "5.1.2";
+ sha256 = "195nxmnva1z2p0ahvn0kswv4d39f5bdy2sl3cxcvfziamc21xrmd";
+ })
+ (fetchNuGet {
+ name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
+ })
+ (fetchNuGet {
+ name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
+ })
+ (fetchNuGet {
+ name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.IO.Compression";
+ version = "4.3.0";
+ sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.0.1";
+ sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.3.0";
+ sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Security";
+ version = "4.3.0";
+ sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography.Apple";
+ version = "4.3.0";
+ sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography";
+ version = "4.0.0";
+ sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.0.0";
+ sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.3.0";
+ sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+ })
+ (fetchNuGet {
+ name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
+ })
+ (fetchNuGet {
+ name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
+ })
+ (fetchNuGet {
+ name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
+ version = "4.3.0";
+ sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
+ })
+ (fetchNuGet {
+ name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
+ })
+ (fetchNuGet {
+ name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
+ })
+ (fetchNuGet {
+ name = "System.AppContext";
+ version = "4.3.0";
+ sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.3.0";
+ sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.4.0";
+ sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.5.0";
+ sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.0.12";
+ sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.3.0";
+ sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+ })
+ (fetchNuGet {
+ name = "System.Collections.NonGeneric";
+ version = "4.3.0";
+ sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Specialized";
+ version = "4.3.0";
+ sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.0.11";
+ sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.3.0";
+ sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.Primitives";
+ version = "4.3.0";
+ sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.TypeConverter";
+ version = "4.3.0";
+ sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel";
+ version = "4.3.0";
+ sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
+ })
+ (fetchNuGet {
+ name = "System.Console";
+ version = "4.3.0";
+ sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.0.11";
+ sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.3.0";
+ sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.3.0";
+ sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.5.1";
+ sha256 = "1j8dgilsgd0n7y87wq1cdlnwck96wijhbyhdp4d01l1gzm3074c1";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Process";
+ version = "4.3.0";
+ sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.0.1";
+ sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.3.0";
+ sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.1.0";
+ sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.3.0";
+ sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.0.11";
+ sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.3.0";
+ sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.0.1";
+ sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.3.0";
+ sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.3.0";
+ sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.0.11";
+ sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.3.0";
+ sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+ })
+ (fetchNuGet {
+ name = "System.IdentityModel.Tokens.Jwt";
+ version = "5.4.0";
+ sha256 = "05f91fjn054bwphmbbg7c38ipl4i81v73j232jgcq6y16dx6ifyc";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression.ZipFile";
+ version = "4.3.0";
+ sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression";
+ version = "4.3.0";
+ sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.0.1";
+ sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.3.0";
+ sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.0.1";
+ sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.3.0";
+ sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.1.0";
+ sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.3.0";
+ sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.1.0";
+ sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.3.0";
+ sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.1.0";
+ sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.3.0";
+ sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+ })
+ (fetchNuGet {
+ name = "System.Memory";
+ version = "4.5.0";
+ sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30";
+ })
+ (fetchNuGet {
+ name = "System.Net.Http";
+ version = "4.3.0";
+ sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+ })
+ (fetchNuGet {
+ name = "System.Net.NameResolution";
+ version = "4.3.0";
+ sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.0.11";
+ sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.3.0";
+ sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+ })
+ (fetchNuGet {
+ name = "System.Net.Security";
+ version = "4.3.0";
+ sha256 = "1aa5igz31ivk6kpgsrwck3jccab7wd88wr52lddmgypmbh9mmf87";
+ })
+ (fetchNuGet {
+ name = "System.Net.Sockets";
+ version = "4.3.0";
+ sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebHeaderCollection";
+ version = "4.0.1";
+ sha256 = "10bxpxj80c4z00z3ksrfswspq9qqsw8jwxcbzvymzycb97m9b55q";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebHeaderCollection";
+ version = "4.3.0";
+ sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebSockets.Client";
+ version = "4.0.2";
+ sha256 = "0p8m9h94h9za8281hngpi6awka6v26s1gkk0npmxzqq4ilas6b4s";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebSockets.Client";
+ version = "4.3.2";
+ sha256 = "103y8lfsfa5xd1sqmq9sml4qyp4rij2i3fnnw119h119hb04l0rk";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebSockets";
+ version = "4.0.0";
+ sha256 = "04jdhq9dp43x1m6hddn06sq74skc50i1yk6hip0224pj6fwxa4k2";
+ })
+ (fetchNuGet {
+ name = "System.Net.WebSockets";
+ version = "4.3.0";
+ sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p";
+ })
+ (fetchNuGet {
+ name = "System.Numerics.Vectors";
+ version = "4.4.0";
+ sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.0.12";
+ sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.3.0";
+ sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+ })
+ (fetchNuGet {
+ name = "System.Private.DataContractSerialization";
+ version = "4.1.1";
+ sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
+ })
+ (fetchNuGet {
+ name = "System.Private.DataContractSerialization";
+ version = "4.3.0";
+ sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.0.1";
+ sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.3.0";
+ sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.0.1";
+ sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.3.0";
+ sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.0.1";
+ sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.3.0";
+ sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.0.1";
+ sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.3.0";
+ sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.0.1";
+ sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.3.0";
+ sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.1.0";
+ sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.3.0";
+ sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.1.0";
+ sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.3.0";
+ sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.0.1";
+ sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.3.0";
+ sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.5.0";
+ sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.1.0";
+ sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.3.0";
+ sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.0.1";
+ sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.3.0";
+ sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices.RuntimeInformation";
+ version = "4.3.0";
+ sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.1.0";
+ sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.3.0";
+ sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.0.1";
+ sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.3.0";
+ sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Formatters";
+ version = "4.3.0";
+ sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Json";
+ version = "4.0.2";
+ sha256 = "08ypbzs0sb302ga04ds5b2wxa2gg0q50zpa0nvc87ipjhs0v66dn";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.1.1";
+ sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.3.0";
+ sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Xml";
+ version = "4.3.0";
+ sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.1.0";
+ sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.3.0";
+ sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+ })
+ (fetchNuGet {
+ name = "System.Security.Claims";
+ version = "4.3.0";
+ sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.2.0";
+ sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.3.0";
+ sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.2.0";
+ sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.3.0";
+ sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.0.0";
+ sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.3.0";
+ sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.0.0";
+ sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.3.0";
+ sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.0.0";
+ sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.0.0";
+ sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.3.0";
+ sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.1.0";
+ sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.3.0";
+ sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal.Windows";
+ version = "4.3.0";
+ sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal";
+ version = "4.3.0";
+ sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.0.11";
+ sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.3.0";
+ sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.0.11";
+ sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.3.0";
+ sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.1.0";
+ sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.3.0";
+ sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Channels";
+ version = "4.7.1";
+ sha256 = "038fyrriypwzsj5fwgnkw79hm5ya0x63r724yizgahbxf512chr2";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.0.0";
+ sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.3.0";
+ sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.0.11";
+ sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.3.0";
+ sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Thread";
+ version = "4.3.0";
+ sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
+ })
+ (fetchNuGet {
+ name = "System.Threading.ThreadPool";
+ version = "4.3.0";
+ sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Timer";
+ version = "4.3.0";
+ sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.0.11";
+ sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.3.0";
+ sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.0.11";
+ sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.3.0";
+ sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.0.11";
+ sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.3.0";
+ sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlDocument";
+ version = "4.0.1";
+ sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlDocument";
+ version = "4.3.0";
+ sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlSerializer";
+ version = "4.0.11";
+ sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlSerializer";
+ version = "4.3.0";
+ sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912";
+ })
+ (fetchNuGet {
+ name = "xunit.abstractions";
+ version = "2.0.3";
+ sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
+ })
+ (fetchNuGet {
+ name = "xunit.analyzers";
+ version = "0.10.0";
+ sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
+ })
+ (fetchNuGet {
+ name = "xunit.assert";
+ version = "2.4.1";
+ sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
+ })
+ (fetchNuGet {
+ name = "xunit.core";
+ version = "2.4.1";
+ sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
+ })
+ (fetchNuGet {
+ name = "xunit.extensibility.core";
+ version = "2.4.1";
+ sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
+ })
+ (fetchNuGet {
+ name = "xunit.extensibility.execution";
+ version = "2.4.1";
+ sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
+ })
+ (fetchNuGet {
+ name = "xunit.runner.visualstudio";
+ version = "2.4.3";
+ sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3";
+ })
+ (fetchNuGet {
+ name = "xunit";
+ version = "2.4.1";
+ sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
+ })
+]
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh
new file mode 100755
index 000000000000..5db2723ef8e9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
+
+getVersionFromTags=1 "$scriptDir"/util/update-common.sh nbxplorer "$scriptDir"/deps.nix
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh
new file mode 100755
index 000000000000..1402d1cd1eb8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p dotnet-sdk_3
+set -euo pipefail
+
+# Writes deps for dotnet package in $pkgSrc to $depsFile.
+# Expects $pkgSrc to contain a single .sln file.
+
+pkgSrc=$1
+depsFile=$2
+
+sln=$(cd "$pkgSrc"; find * -maxdepth 0 -name '*.sln' | head -1)
+[[ $sln ]] || { echo "No .sln file in $pkgSrc" ; exit 1; }
+
+tmpdir=$(mktemp -d /tmp/$pkgName-src.XXX)
+echo "Using tmp dir: $tmpdir"
+cp -rT "$pkgSrc" "$tmpdir"
+chmod -R +w "$tmpdir"
+
+pushd "$tmpdir" > /dev/null
+mkdir home
+echo "Running dotnet restore for $sln"
+HOME=home DOTNET_CLI_TELEMETRY_OPTOUT=1 \
+ dotnet restore -v normal --no-cache "$sln" > restore_log
+
+echo "{ fetchNuGet }: [" > "$depsFile"
+while read pkgSpec; do
+ { read name; read version; } < <(
+ # Ignore build version part: 1.0.0-beta2+77df2220 -> 1.0.0-beta2
+ sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkgSpec"
+ )
+ sha256=$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkgSpec")"/*.nupkg)
+ cat >> "$depsFile" <<EOF
+ (fetchNuGet {
+ name = "$name";
+ version = "$version";
+ sha256 = "$sha256";
+ })
+EOF
+done < <(find home/.nuget/packages -name '*.nuspec' | LC_ALL=C sort)
+echo "]" >> "$depsFile"
+
+echo "Created $depsFile"
+
+popd > /dev/null
+rm -r $tmpdir
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
new file mode 100755
index 000000000000..c69168ccbbb1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p coreutils curl jq common-updater-scripts dotnet-sdk_3
+set -euo pipefail
+
+# This script uses the following env vars:
+# getVersionFromTags
+# onlyCreateDeps
+
+pkgName=$1
+depsFile=$2
+
+: ${getVersionFromTags:=}
+: ${onlyCreateDeps:=}
+
+scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
+nixpkgs=$(realpath "$scriptDir"/../../../../..)
+
+evalNixpkgs() {
+ nix eval --raw "(with import \"$nixpkgs\" {}; $1)"
+}
+
+getRepo() {
+ url=$(evalNixpkgs $pkgName.src.meta.homepage)
+ echo $(basename $(dirname $url))/$(basename $url)
+}
+
+getLatestVersionTag() {
+ "$nixpkgs"/pkgs/common-updater/scripts/list-git-tags https://github.com/$(getRepo) 2>/dev/null \
+ | sort -V | tail -1 | sed 's|^v||'
+}
+
+if [[ ! $onlyCreateDeps ]]; then
+ oldVersion=$(evalNixpkgs "$pkgName.version")
+ if [[ $getVersionFromTags ]]; then
+ newVersion=$(getLatestVersionTag)
+ else
+ newVersion=$(curl -s "https://api.github.com/repos/$(getRepo)/releases" | jq -r '.[0].name')
+ fi
+
+ if [[ $newVersion == $oldVersion ]]; then
+ echo "nixpkgs already has the latest version $newVersion"
+ echo "Run this script with env var onlyCreateDeps=1 to recreate "$(basename "$depsFile")
+ exit 0
+ else
+ echo "Updating $pkgName: $oldVersion -> $newVersion"
+ (cd "$nixpkgs" && update-source-version "$pkgName" "$newVersion")
+ fi
+fi
+
+storeSrc="$(nix-build "$nixpkgs" -A $pkgName.src --no-out-link)"
+. "$scriptDir"/create-deps.sh "$storeSrc" "$depsFile"
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix
new file mode 100644
index 000000000000..563b2378f845
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, cmake
+, llvmPackages
+, openssl
+, pkg-config
+, stdenv
+, systemd
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "openethereum";
+ version = "3.1.0";
+
+ src = fetchFromGitHub {
+ owner = "openethereum";
+ repo = "openethereum";
+ rev = "v${version}";
+ sha256 = "cs84Zz0nhagGDu5sDFTaFZF3SPEgJU8F4vGX7KLihOM=";
+ };
+
+ cargoSha256 = "6suNkHw1BbISb0MkYkUaD+mpUal+kn3y1SFVqzJFqJc=";
+
+ LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+ nativeBuildInputs = [
+ cmake
+ llvmPackages.clang
+ llvmPackages.libclang
+ pkg-config
+ ];
+
+ buildInputs = [ openssl ]
+ ++ stdenv.lib.optionals stdenv.isLinux [ systemd ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
+
+ cargoBuildFlags = [ "--features final" ];
+
+ # test result: FAILED. 88 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Fast, light, robust Ethereum implementation";
+ homepage = "http://parity.io/ethereum";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ akru xrelkd ];
+ platforms = stdenv.lib.platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix
new file mode 100644
index 000000000000..b18c121607ab
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, pkgs, fetchurl, makeWrapper, nodePackages }:
+
+let
+
+uiEnv = pkgs.callPackage ./env.nix { };
+
+in stdenv.mkDerivation rec {
+ pname = "parity-ui";
+ version = "0.3.4";
+
+ src = fetchurl {
+ url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
+ sha256 = "1xbd00r9ph8w2d6d2c5xg4b5l74ljzs50rpc6kahfznypmh4kr73";
+ name = "${pname}-${version}.deb";
+ };
+
+ nativeBuildInputs = [ makeWrapper nodePackages.asar ];
+
+ buildCommand = ''
+ mkdir -p $out/usr/
+ ar p $src data.tar.xz | tar -C $out -xJ .
+ substituteInPlace $out/usr/share/applications/parity-ui.desktop \
+ --replace "/opt/Parity UI" $out/bin
+ mv $out/usr/* $out/
+ mv "$out/opt/Parity UI" $out/share/parity-ui
+ rm -r $out/usr/
+ rm -r $out/opt/
+
+ fixupPhase
+
+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+ --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \
+ $out/share/parity-ui/parity-ui
+
+ find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \;
+
+ mkdir -p $out/bin
+ ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui
+ '';
+
+ meta = with stdenv.lib; {
+ description = "UI for Parity. Fast, light, robust Ethereum implementation";
+ homepage = "http://parity.io";
+ license = licenses.gpl3;
+ maintainers = [ maintainers.sorpaas ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix
new file mode 100644
index 000000000000..a878bbf2e3e3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix
@@ -0,0 +1,19 @@
+{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig
+, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr
+, nss, xorg, libcap, systemd, libnotify, libsecret, gnome2 }:
+
+let
+ packages = [
+ stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3
+ fontconfig gdk-pixbuf cairo cups expat libgpgerror alsaLib nspr nss
+ xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
+ xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
+ xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
+ xorg.libxcb libsecret gnome2.GConf
+ ];
+
+ libPathNative = lib.makeLibraryPath packages;
+ libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
+ libPath = "${libPathNative}:${libPath64}";
+
+in { inherit packages libPath; }
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix
new file mode 100644
index 000000000000..f30e9a609808
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, autoreconfHook
+, boost
+, db48
+, fetchurl
+, libevent
+, miniupnpc
+, openssl
+, pkgconfig
+, zeromq
+, zlib
+, unixtools
+, python3
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ pname = "particl-core";
+ version = "0.19.1.1";
+
+ src = fetchurl {
+ url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz";
+ sha256 = "11y5q2srkh6r2samppjb5mg6hl79y16j2lj1r23p0968vb9c45kl";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ openssl db48 boost zlib miniupnpc libevent zeromq unixtools.hexdump python3 ];
+
+ configureFlags = [
+ "--disable-bench"
+ "--with-boost-libdir=${boost.out}/lib"
+ ] ++ optionals (!doCheck) [
+ "--enable-tests=no"
+ ];
+
+ # Always check during Hydra builds
+ doCheck = true;
+ preCheck = "patchShebangs test";
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Privacy-Focused Marketplace & Decentralized Application Platform";
+ longDescription= ''
+ An open source, decentralized privacy platform built for global person to person eCommerce.
+ RPC daemon and CLI client only.
+ '';
+ homepage = "https://particl.io/";
+ maintainers = with maintainers; [ demyanrogozhin ];
+ license = licenses.mit;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix
new file mode 100644
index 000000000000..6d6f881ae65f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix
@@ -0,0 +1,59 @@
+{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook, wrapQtAppsHook ? null
+, openssl, db48, boost, zlib, miniupnpc, gmp
+, qrencode, glib, protobuf, yasm, libevent
+, util-linux, qtbase ? null, qttools ? null
+, enableUpnp ? false
+, disableWallet ? false
+, disableDaemon ? false
+, withGui ? false }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ name = "pivx-${version}";
+ version = "4.1.1";
+
+ src = fetchFromGitHub {
+ owner = "PIVX-Project";
+ repo= "PIVX";
+ rev = "v${version}";
+ sha256 = "03ndk46h6093v8s18d5iffz48zhlshq7jrk6vgpjfs6z2iqgd2sy";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ] ++ optionals withGui [ wrapQtAppsHook ];
+ buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ]
+ ++ optionals withGui [ qtbase qttools qrencode ];
+
+ configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
+ ++ optional enableUpnp "--enable-upnp-default"
+ ++ optional disableWallet "--disable-wallet"
+ ++ optional disableDaemon "--disable-daemon"
+ ++ optionals withGui [ "--with-gui=yes"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+
+ enableParallelBuilding = true;
+ doChecks = true;
+ postBuild = ''
+ mkdir -p $out/share/applications $out/share/icons
+ cp contrib/debian/pivx-qt.desktop $out/share/applications/
+ cp share/pixmaps/*128.png $out/share/icons/
+ '';
+
+ doInstallCheck = true;
+ installCheckPhase = ''
+ $out/bin/test_pivx
+ '';
+
+ meta = with stdenv.lib; {
+ description = "An open source crypto-currency focused on fast private transactions";
+ longDescription = ''
+ PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
+ ultra fast transactions, low fees, high network decentralization, and
+ Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
+ '';
+ license = licenses.mit;
+ homepage = "https://pivx.org";
+ maintainers = with maintainers; [ wucke13 ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
new file mode 100644
index 000000000000..866adeea2780
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
@@ -0,0 +1,41 @@
+{ clang
+, fetchFromGitHub
+, lib
+, llvmPackages
+, protobuf
+, rustPlatform
+}:
+rustPlatform.buildRustPackage rec {
+ pname = "polkadot";
+ version = "0.8.26-1";
+
+ src = fetchFromGitHub {
+ owner = "paritytech";
+ repo = "polkadot";
+ rev = "v${version}";
+ sha256 = "17ji1gjrx3gzw4msaz9kgvm132y14wgh8z183l3mfw1cj44a6kqk";
+ };
+
+ cargoSha256 = "07zwlwx02xw1y20br2c4grwv7bprhynqy7gav4qh3vw117ijpiqk";
+
+ nativeBuildInputs = [ clang ];
+
+ LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+ PROTOC = "${protobuf}/bin/protoc";
+
+ # NOTE: We don't build the WASM runtimes since this would require a more
+ # complicated rust environment setup. The resulting binary is still useful for
+ # live networks since those just use the WASM blob from the network chainspec.
+ BUILD_DUMMY_WASM_BINARY = 1;
+
+ # We can't run the test suite since we didn't compile the WASM runtimes.
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Polkadot Node Implementation";
+ homepage = "https://polkadot.network";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ akru andresilva RaghavSood ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix
new file mode 100644
index 000000000000..eb98777c587d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, buildGoPackage, git, which, removeReferencesTo, go }:
+
+buildGoPackage rec {
+ pname = "quorum";
+ version = "2.5.0";
+
+ goPackagePath = "github.com/jpmorganchase/quorum";
+
+ src = fetchFromGitHub {
+ owner = "jpmorganchase";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0xfdaqp9bj5dkw12gy19lxj73zh7w80j051xclsvnd41sfah86ll";
+ };
+
+ buildInputs = [ git which ];
+
+ buildPhase = ''
+ cd "go/src/$goPackagePath"
+ make geth bootnode swarm
+ '';
+
+ installPhase = ''
+ mkdir -pv $out/bin
+ cp -v build/bin/geth build/bin/bootnode build/bin/swarm $out/bin
+ '';
+
+ # fails with `GOFLAGS=-trimpath`
+ allowGoReference = true;
+ preFixup = ''
+ find $out -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${go} '{}' +
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A permissioned implementation of Ethereum supporting data privacy";
+ homepage = "https://www.goquorum.com/";
+ license = licenses.lgpl3;
+ maintainers = with maintainers; [ mmahut ];
+ platforms = subtractLists ["aarch64-linux"] platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch
new file mode 100644
index 000000000000..57d66ce5919a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch
@@ -0,0 +1,15 @@
+Subject: Prevent "-dirty" from being erroneously added to the version
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index d36d1a3..00048fc 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,7 +28,7 @@ always:
+ # Always rebuild because .git/HEAD is a symbolic ref one can't depend on
+ StellarCoreVersion.h: always
+ @vers=$$(cd "$(srcdir)" \
+- && git describe --always --dirty --tags 2>/dev/null \
++ && git describe --always --tags 2>/dev/null \
+ || echo "$(PACKAGE) $(VERSION)"); \
+ echo "#define STELLAR_CORE_VERSION \"$$vers\"" > $@~
+ @if cmp -s $@~ $@; then rm -f $@~; else \
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix
new file mode 100644
index 000000000000..6bb717a0344b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchgit, autoconf, libtool, automake, pkgconfig, git
+, bison, flex, postgresql }:
+
+let
+ pname = "stellar-core";
+ version = "0.5.1";
+
+in stdenv.mkDerivation {
+ name = "${pname}-${version}";
+
+ src = fetchgit {
+ url = "https://github.com/stellar/stellar-core.git";
+ rev = "refs/tags/v${version}";
+ sha256 = "0ldw3qr0sajgam38z2w2iym0214ial6iahbzx3b965cw92n8n88z";
+ fetchSubmodules = true;
+ leaveDotGit = true;
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ autoconf automake libtool git ];
+
+ propagatedBuildInputs = [ bison flex postgresql ];
+
+ patches = [ ./stellar-core-dirty-version.patch ];
+
+ preConfigure = ''
+ # Everything needs to be staged in git because the build uses
+ # `git ls-files` to search for source files to compile.
+ git add .
+
+ ./autogen.sh
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Implements the Stellar Consensus Protocol, a federated consensus protocol";
+ longDescription = ''
+ Stellar-core is the backbone of the Stellar network. It maintains a
+ local copy of the ledger, communicating and staying in sync with other
+ instances of stellar-core on the network. Optionally, stellar-core can
+ store historical records of the ledger and participate in consensus.
+ '';
+ homepage = "https://www.stellar.org/";
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ chris-martin ];
+ license = licenses.asl20;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix
new file mode 100644
index 000000000000..beb294d2dfe0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, cmake, unbound, openssl, boost
+, libunwind, lmdb, miniupnpc }:
+
+stdenv.mkDerivation rec {
+ pname = "sumokoin";
+ version = "0.2.0.0";
+
+ src = fetchFromGitHub {
+ owner = "sumoprojects";
+ repo = "sumokoin";
+ rev = "v${version}";
+ sha256 = "0ndgcawhxh3qb3llrrilrwzhs36qpxv7f53rxgcansbff9b3za6n";
+ };
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ unbound openssl boost libunwind lmdb miniupnpc ];
+
+ postPatch = ''
+ substituteInPlace src/blockchain_db/lmdb/db_lmdb.cpp --replace mdb_size_t size_t
+ '';
+
+ cmakeFlags = [
+ "-DLMDB_INCLUDE=${lmdb}/include"
+ ];
+
+ enableParallelBuilding = true;
+
+ meta = with lib; {
+ description = "A fork of Monero and a truely fungible cryptocurrency";
+ homepage = "https://www.sumokoin.org/";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ fpletz ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix
new file mode 100644
index 000000000000..84f7925d2180
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+ pname = "tessera";
+ version = "0.10.2";
+
+ src = fetchurl {
+ url = "https://oss.sonatype.org/service/local/repositories/releases/content/com/jpmorgan/quorum/${pname}-app/${version}/${pname}-app-${version}-app.jar";
+ sha256 = "1zn8w7q0q5man0407kb82lw4mlvyiy9whq2f6izf2b5415f9s0m4";
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ dontUnpack = true;
+
+ installPhase = ''
+ makeWrapper ${jre}/bin/java $out/bin/tessera --add-flags "-jar $src"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Enterprise Implementation of Quorum's transaction manager";
+ homepage = "https://github.com/jpmorganchase/tessera";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ mmahut ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix
new file mode 100644
index 000000000000..b8aa3de44dad
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "turbo-geth";
+ version = "2020.12.01";
+
+ src = fetchFromGitHub {
+ owner = "ledgerwatch";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0l1qj10vhfkrk66zihz8m24pnyj8jbb65a7amvphp07r199swy2a";
+ };
+
+ vendorSha256 = "16vawkky612zf45d8dhipjmhrprmi28z9wdcnjy07x3bxdyfbhfr";
+ runVend = true;
+
+ subPackages = [
+ "cmd/tg"
+ "cmd/restapi"
+ "cmd/rpcdaemon"
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/ledgerwatch/turbo-geth/";
+ description = "Ethereum node and geth fork focused on scalability and modularity";
+ license = with licenses; [ lgpl3 gpl3 ];
+ maintainers = with maintainers; [ xwvvvvwx ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix
new file mode 100644
index 000000000000..21104012f4d2
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, openssl
+, boost
+, libevent
+, autoreconfHook
+, db4
+, pkgconfig
+, protobuf
+, hexdump
+, zeromq
+, withGui
+, qtbase ? null
+, qttools ? null
+, wrapQtAppsHook ? null
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ pname = "vertcoin";
+ version = "0.15.0.1";
+
+ name = pname + toString (optional (!withGui) "d") + "-" + version;
+
+ src = fetchFromGitHub {
+ owner = pname + "-project";
+ repo = pname + "-core";
+ rev = version;
+ sha256 = "09q7qicw52gv225hq6wlpsf4zr4hjc8miyim5cygi5nxxrlw7kd3";
+ };
+
+ nativeBuildInputs = [
+ autoreconfHook
+ pkgconfig
+ hexdump
+ ] ++ optionals withGui [
+ wrapQtAppsHook
+ ];
+
+ buildInputs = [
+ openssl
+ boost
+ libevent
+ db4
+ zeromq
+ ] ++ optionals withGui [
+ qtbase
+ qttools
+ protobuf
+ ];
+
+ enableParallelBuilding = true;
+
+ configureFlags = [
+ "--with-boost-libdir=${boost.out}/lib"
+ ] ++ optionals withGui [
+ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+
+ meta = {
+ description = "A digital currency with mining decentralisation and ASIC resistance as a key focus";
+ homepage = "https://vertcoin.org/";
+ license = licenses.mit;
+ maintainers = [ maintainers.mmahut ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh
new file mode 100644
index 000000000000..814f92a341a6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh
@@ -0,0 +1,98 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p dotnet-sdk_3 nixfmt
+
+# Run this script to generate deps.nix
+# ./create_deps.sh /path/to/package/source/checkout > deps.nix
+
+# TODO: consolidate with other dotnet deps generation scripts by which
+# this script is inspired:
+# - pkgs/servers/nosql/eventstore/create-deps.sh
+# - pkgs/development/dotnet-modules/python-language-server/create_deps.sh
+
+URLBASE="https://www.nuget.org/api/v2/package"
+
+DEPS_HEADER="
+{ fetchurl }:
+let
+ nugetUrlBase = \"$URLBASE\";
+ fetchNuGet = { name, version, sha256 }: fetchurl {
+ inherit sha256;
+ url = \"\${nugetUrlBase}/\${name}/\${version}\";
+ };
+in ["
+
+DEPS_FOOTER="]"
+
+DEPS_TEMPLATE="
+(fetchNuGet {
+ name = \"%s\";
+ version = \"%s\";
+ sha256 = \"%s\";
+})"
+
+
+function generate_restore_log() {
+ checkout_path=$1
+ >&2 echo "generating restore log for $checkout_path..."
+ cd $checkout_path
+ dotnet nuget locals all --clear
+ dotnet restore -v normal --no-cache WalletWasabi.Backend -r linux-x64
+ cd -
+}
+
+function process_restore_log() {
+ restore_log=$1
+ >&2 echo "processing restore log..."
+ while read line; do
+ if echo $line | grep -q "^[[:space:]]*Installing"; then
+ l=$(echo $line | xargs)
+ l=${l#Installing }
+ l=${l%.}
+ echo $l
+ fi
+ done < $restore_log
+}
+
+function prefetch_deps() {
+ processed_log=$1
+ >&2 echo "prefetching deps..."
+ while read line; do
+ name=$(echo $line | cut -d' ' -f1)
+ >&2 echo "prefetching '$name' version: $version"
+ version=$(echo $line | cut -d' ' -f2)
+ hash=$(nix-prefetch-url "$URLBASE/$name/$version" 2>/dev/null)
+ echo "$name $version $hash"
+ done < $processed_log
+}
+
+function generate_deps_expression() {
+ packages=$1
+ >&2 echo "generating deps nix-expression..."
+ echo $DEPS_HEADER
+ while read line; do
+ name=$(echo $line | cut -d' ' -f1)
+ version=$(echo $line | cut -d' ' -f2)
+ hash=$(echo $line | cut -d' ' -f3)
+ printf "$DEPS_TEMPLATE" $name $version $hash
+ done < $packages
+ echo $DEPS_FOOTER
+}
+
+function main() {
+ checkout_path=$1
+ tmpdir=$(mktemp -d)
+ generate_restore_log $checkout_path > $tmpdir/restore.log
+ process_restore_log $tmpdir/restore.log > $tmpdir/processed.log
+ prefetch_deps $tmpdir/processed.log > $tmpdir/prefetched.log
+ generate_deps_expression $tmpdir/prefetched.log > $tmpdir/deps.nix
+ nixfmt $tmpdir/deps.nix
+ cat $tmpdir/deps.nix
+ rm -rf $tmpdir
+}
+
+if [ ! -d "$1" ]; then
+ >&2 echo "First argument must be a directory, the path to the package source checkout"
+ exit 1
+fi
+
+main $@
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix
new file mode 100644
index 000000000000..6b5358c9cf93
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix
@@ -0,0 +1,100 @@
+{ stdenv
+, fetchFromGitHub
+, fetchurl
+, makeWrapper
+, Nuget
+, dotnetCorePackages
+, openssl
+, zlib
+}:
+
+let
+ deps = import ./deps.nix { inherit fetchurl; };
+
+ dotnet-sdk = dotnetCorePackages.sdk_3_1;
+ dotnet-aspnetcore = dotnetCorePackages.aspnetcore_3_1;
+
+ nugetSource = stdenv.mkDerivation {
+ pname = "${pname}-nuget-deps";
+ inherit version;
+
+ dontUnpack = true;
+ dontInstall = true;
+
+ nativeBuildInputs = [ Nuget ];
+
+ buildPhase = ''
+ export HOME=$(mktemp -d)
+ mkdir -p $out/lib
+
+ nuget sources Disable -Name "nuget.org"
+ for package in ${toString deps}; do
+ nuget add $package -Source $out/lib
+ done
+ '';
+ };
+
+ pname = "WasabiBackend";
+ version = "1.1.12";
+
+ projectName = "WalletWasabi.Backend";
+ projectConfiguration = "Release";
+ projectRuntime = "linux-x64";
+in
+
+stdenv.mkDerivation rec {
+ inherit pname version;
+
+ src = fetchFromGitHub {
+ owner = "zkSNACKs";
+ repo = "WalletWasabi";
+ rev = "v${version}";
+ sha256 = "001k43z2jxvs03csyzndlzlk034aclzc4n8ddrqxykgrq508xk1d";
+ };
+
+ buildInputs = [
+ Nuget
+ dotnet-sdk
+ makeWrapper
+ ];
+
+ buildPhase = ''
+ export HOME=$(mktemp -d)
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+ export DOTNET_ROOT="${dotnet-sdk}/bin"
+
+ nuget sources Disable -Name "nuget.org"
+
+ dotnet restore \
+ --source ${nugetSource}/lib \
+ --runtime ${projectRuntime} \
+ ${projectName}
+
+ dotnet publish \
+ --no-restore \
+ --runtime ${projectRuntime} \
+ --configuration ${projectConfiguration} \
+ ${projectName}
+ '';
+
+ installPhase = ''
+ mkdir -p $out
+ cp -r ${projectName}/bin/${projectConfiguration}/netcoreapp3.1/${projectRuntime}/publish $out/lib
+ mkdir -p $out/bin
+ makeWrapper $out/lib/WalletWasabi.Backend $out/bin/${pname} \
+ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl zlib ]} \
+ --run "cd $out/lib"
+ '';
+
+ # If we don't disable stripping the executable fails to start with segfault
+ dontStrip = true;
+
+ meta = with stdenv.lib; {
+ description = "Backend for the Wasabi Wallet";
+ homepage = "https://wasabiwallet.io/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ mmahut ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix
new file mode 100644
index 000000000000..4d4489efa3cb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix
@@ -0,0 +1,956 @@
+{ fetchurl }:
+let
+ nugetUrlBase = "https://www.nuget.org/api/v2/package";
+ fetchNuGet = { name, version, sha256 }:
+ fetchurl {
+ inherit sha256;
+ url = "${nugetUrlBase}/${name}/${version}";
+ };
+in [
+
+ (fetchNuGet {
+ name = "System.Xml.XmlSerializer";
+ version = "4.0.11";
+ sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.3.0";
+ sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.3.0";
+ sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.0.11";
+ sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Overlapped";
+ version = "4.0.1";
+ sha256 = "0fi79az3vmqdp9mv3wh2phblfjls89zlj6p9nc3i9f6wmfarj188";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal";
+ version = "4.0.1";
+ sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p";
+ })
+ (fetchNuGet {
+ name = "System.Private.DataContractSerialization";
+ version = "4.1.1";
+ sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Registry";
+ version = "4.0.0";
+ sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.0.1";
+ sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.0.1";
+ sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.0.1";
+ sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.0.1";
+ sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.0.0";
+ sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.0.0";
+ sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.2.0";
+ sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.0.0";
+ sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
+ })
+ (fetchNuGet {
+ name = "Microsoft.VisualStudio.Web.CodeGeneration.Tools";
+ version = "2.0.2";
+ sha256 = "0fkjm06irs53d77z29i6dwj5pjhgj9ivhad8v39ghnrwasc0ivq6";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.0.0";
+ sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
+ })
+ (fetchNuGet {
+ name = "Microsoft.VisualStudio.Web.CodeGeneration.Contracts";
+ version = "2.0.2";
+ sha256 = "1fs6sbjn0chx6rv38d61zgk8mhyyxz44xp4wsfya0lvkckyszyn1";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.0.1";
+ sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Physical";
+ version = "2.0.0";
+ sha256 = "0l0l92g7sq4122n139av1pn1jl6wlw92hjmdnr47xdss0ndmwrs3";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.IO.Compression";
+ version = "4.1.0";
+ sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.App";
+ version = "2.0.5";
+ sha256 = "0qb7k624w7l0zhapdp519ymqg84a67r8zyd8cpj42hywsgb0dqv6";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography";
+ version = "4.0.0";
+ sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
+ })
+ (fetchNuGet {
+ name = "NuGet.Frameworks";
+ version = "4.0.0";
+ sha256 = "0nar684cm53cvzx28gzl6kmpg9mrfr1yv29323din7xqal4pscgq";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build.Runtime";
+ version = "15.3.409";
+ sha256 = "135ycnqz5jfg61y5zaapgc7xdpjx2aq4icmxb9ph7h5inl445q7q";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.0.0";
+ sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.0.0";
+ sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.0.1";
+ sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "10.0.1";
+ sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.DotNetAppHost";
+ version = "2.0.5";
+ sha256 = "00bsxdg9c8msjxyffvfi8siqk8v2m7ca8fqy1npv7b2pzg3byjws";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.4.0";
+ sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.3.0";
+ sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.3.0";
+ sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileSystemGlobbing";
+ version = "2.0.0";
+ sha256 = "02lzy6r14ghwfwm384xajq08vv3pl3ww0mi5isrr10vivhijhgg4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.FileProviders.Abstractions";
+ version = "2.0.0";
+ sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "2.0.1";
+ sha256 = "1j2hmnivgb4plni2dd205kafzg6mkg7r4knrd3s7mg75wn2l25np";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.DotNetHostPolicy";
+ version = "2.0.5";
+ sha256 = "0v5csskiwpk8kz8wclqad8kcjmxr7ik4w99wl05740qvaag3qysk";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.3.0";
+ sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "2.0.1";
+ sha256 = "0d44wjxphs1ck838v7dapm0ag0b91zpiy33cr5vflsrwrqgj51dk";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.3.0";
+ sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Specialized";
+ version = "4.3.0";
+ sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel";
+ version = "4.3.0";
+ sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
+ })
+ (fetchNuGet {
+ name = "System.Collections.NonGeneric";
+ version = "4.3.0";
+ sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.Primitives";
+ version = "4.3.0";
+ sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.3.0";
+ sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "1.6.0";
+ sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build.Framework";
+ version = "15.3.409";
+ sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build.Tasks.Core";
+ version = "15.3.409";
+ sha256 = "135swyygp7cz2civwsz6a7dj7h8bzp7yrybmgxjanxwrw66hm933";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.CodePages";
+ version = "4.0.1";
+ sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build.Utilities.Core";
+ version = "15.3.409";
+ sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build";
+ version = "15.3.409";
+ sha256 = "0vzq6csp2yys9s96c7i37bjml439rdi47g8f5rzqdr7xf5a1jk81";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Formatters";
+ version = "4.3.0";
+ sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.3.0";
+ sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.3.0";
+ sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.3.0";
+ sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.3.0";
+ sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.3.0";
+ sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.3.0";
+ sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.3.0";
+ sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.3.0";
+ sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlDocument";
+ version = "4.3.0";
+ sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.3.0";
+ sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.3.0";
+ sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.3.0";
+ sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.3.0";
+ sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.3.0";
+ sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.3.0";
+ sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.3.0";
+ sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.3.0";
+ sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.1.0";
+ sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.3.0";
+ sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.1.0";
+ sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.3.0";
+ sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Dataflow";
+ version = "4.6.0";
+ sha256 = "0a1davr71wssyn4z1hr75lk82wqa0daz0vfwkmg1fm3kckfd72k1";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.3.0";
+ sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+ })
+ (fetchNuGet {
+ name = "System.IO.Pipes";
+ version = "4.0.0";
+ sha256 = "0fxfvcf55s9q8zsykwh8dkq2xb5jcqnml2ycq8srfry2l07h18za";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.FileVersionInfo";
+ version = "4.0.0";
+ sha256 = "1s5vxhy7i09bmw51kxqaiz9zaj9am8wsjyz13j85sp23z267hbv3";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.3.0";
+ sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Contracts";
+ version = "4.0.1";
+ sha256 = "0y6dkd9n5k98vzhc3w14r2pbhf10qjn2axpghpmfr6rlxx9qrb9j";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.3.0";
+ sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.3.0";
+ sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Loader";
+ version = "4.0.0";
+ sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0";
+ })
+ (fetchNuGet {
+ name = "System.Threading.ThreadPool";
+ version = "4.0.10";
+ sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.3.0";
+ sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Xml";
+ version = "4.1.1";
+ sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.3.0";
+ sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "1.2.0";
+ sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.3.0";
+ sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.TypeConverter";
+ version = "4.3.0";
+ sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Metadata";
+ version = "1.3.0";
+ sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.3.0";
+ sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Parallel";
+ version = "4.0.1";
+ sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.3.0";
+ sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Process";
+ version = "4.1.0";
+ sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.3.0";
+ sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XmlDocument";
+ version = "4.0.1";
+ sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "2.0.0";
+ sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.DotNetHostResolver";
+ version = "2.0.5";
+ sha256 = "1sz2fdp8fdwz21x3lr2m1zhhrbix6iz699fjkwiryqdjl4ygd3hw";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.1.1";
+ sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.0.1";
+ sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+ })
+ (fetchNuGet {
+ name = "System.AppContext";
+ version = "4.1.0";
+ sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.0.11";
+ sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.TraceSource";
+ version = "4.0.0";
+ sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.0.1";
+ sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.0.1";
+ sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XPath";
+ version = "4.0.1";
+ sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.0.1";
+ sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.0.11";
+ sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.1.0";
+ sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+ })
+ (fetchNuGet {
+ name = "System.Resources.Writer";
+ version = "4.0.0";
+ sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.1.0";
+ sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+ })
+ (fetchNuGet {
+ name = "System.Collections.NonGeneric";
+ version = "4.0.1";
+ sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
+ })
+ (fetchNuGet {
+ name = "System.Console";
+ version = "4.0.0";
+ sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.0.0";
+ sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.0.1";
+ sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.0.1";
+ sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression.ZipFile";
+ version = "4.0.1";
+ sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XPath.XmlDocument";
+ version = "4.0.1";
+ sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc";
+ })
+ (fetchNuGet {
+ name = "System.Net.Sockets";
+ version = "4.1.0";
+ sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.0.11";
+ sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.0.1";
+ sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices.RuntimeInformation";
+ version = "4.0.0";
+ sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+ })
+ (fetchNuGet {
+ name = "System.Resources.Reader";
+ version = "4.0.0";
+ sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Thread";
+ version = "4.0.0";
+ sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Timer";
+ version = "4.0.1";
+ sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.0.1";
+ sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.0.1";
+ sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.0.0";
+ sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.1.0";
+ sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.2.0";
+ sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.0.1";
+ sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.0.1";
+ sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.0.12";
+ sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.0.11";
+ sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.0.11";
+ sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.0.12";
+ sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression";
+ version = "4.1.0";
+ sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.1.0";
+ sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.1.0";
+ sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.0.11";
+ sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.1.0";
+ sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.0.11";
+ sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.0.11";
+ sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.1.0";
+ sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.1.0";
+ sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.0.11";
+ sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+ })
+ (fetchNuGet {
+ name = "System.Net.Http";
+ version = "4.1.0";
+ sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.1.0";
+ sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.0.11";
+ sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.1.0";
+ sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.1.0";
+ sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.App.Runtime.linux-x64";
+ version = "3.1.8";
+ sha256 = "140zr3nwkmf6xc52gq4iz6ycyh95fxy0jpgn637pkd9z423z8135";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.App.Runtime.linux-x64";
+ version = "3.1.8";
+ sha256 = "1bv9n9wzsqf9g8h6z10p61xkcx8ad4nnip83qv8yyfvhr4kdmbsa";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.7.0";
+ sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "3.1.0";
+ sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "11.0.1";
+ sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "1.0.0";
+ sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json.Bson";
+ version = "1.0.2";
+ sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.JsonPatch";
+ version = "3.1.1";
+ sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "12.0.2";
+ sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal.Windows";
+ version = "4.7.0";
+ sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d";
+ })
+ (fetchNuGet {
+ name = "System.Security.AccessControl";
+ version = "4.7.0";
+ sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.47";
+ sha256 = "1plri6q83jn80m95np0zxdg3nk2f36z8v42j4sg5wjv8qppp866d";
+ })
+ (fetchNuGet {
+ name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
+ version = "3.1.1";
+ sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Registry";
+ version = "4.7.0";
+ sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs";
+ })
+ (fetchNuGet {
+ name = "NBitcoin.Secp256k1";
+ version = "1.0.3";
+ sha256 = "08d4db64j1qz8ax9fg8zi6n7g1n53clnkajbbvv2hgaqyfrsnqxj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.OpenApi";
+ version = "1.1.4";
+ sha256 = "1sn79829nhx6chi2qxsza1801di7zdl5fd983m0jakawzbjhjcb3";
+ })
+ (fetchNuGet {
+ name = "Swashbuckle.AspNetCore.SwaggerUI";
+ version = "5.0.0";
+ sha256 = "0d7vjq489rz208j6k3rb7vq6mzxzff3mqg83yk2rqy25vklrsbjd";
+ })
+ (fetchNuGet {
+ name = "Swashbuckle.AspNetCore";
+ version = "5.0.0";
+ sha256 = "0rn2awmzrsrppk97xbbwk4kq1mys9bygb5xhl6mphbk0hchrvh09";
+ })
+ (fetchNuGet {
+ name = "Swashbuckle.AspNetCore.SwaggerGen";
+ version = "5.0.0";
+ sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.ApiDescription.Server";
+ version = "3.0.0";
+ sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh";
+ })
+ (fetchNuGet {
+ name = "Swashbuckle.AspNetCore.Swagger";
+ version = "5.0.0";
+ sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f";
+ })
+ (fetchNuGet {
+ name = "runtime.unix.System.Private.Uri";
+ version = "4.0.1";
+ sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Text.Encoding";
+ version = "4.0.11";
+ sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7";
+ })
+ (fetchNuGet {
+ name = "System.Private.Uri";
+ version = "4.0.1";
+ sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Runtime.Handles";
+ version = "4.0.1";
+ sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Reflection.Primitives";
+ version = "4.0.1";
+ sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.IO";
+ version = "4.1.0";
+ sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Runtime";
+ version = "4.1.0";
+ sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Threading.Tasks";
+ version = "4.0.11";
+ sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Diagnostics.Tracing";
+ version = "4.1.0";
+ sha256 = "041im8hmp1zdgrx6jzyrdch6kshvbddmkar7r2mlm1ksb5c5kwpq";
+ })
+ (fetchNuGet {
+ name = "runtime.unix.System.Runtime.Extensions";
+ version = "4.1.0";
+ sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Runtime.InteropServices";
+ version = "4.1.0";
+ sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Reflection";
+ version = "4.1.0";
+ sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Collections";
+ version = "4.0.11";
+ sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Globalization";
+ version = "4.0.11";
+ sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286";
+ })
+ (fetchNuGet {
+ name = "runtime.any.System.Resources.ResourceManager";
+ version = "4.0.1";
+ sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr";
+ })
+ (fetchNuGet {
+ name = "runtime.unix.System.Diagnostics.Debug";
+ version = "4.0.11";
+ sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d";
+ })
+]
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
new file mode 100644
index 000000000000..e566661d36a2
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, fetchurl
+, makeDesktopItem
+, curl
+, dotnet-netcore
+, fontconfig
+, krb5
+, openssl
+, xorg
+, zlib
+}:
+
+let
+ libPath = stdenv.lib.makeLibraryPath [
+ curl
+ dotnet-netcore
+ fontconfig.lib
+ krb5
+ openssl
+ stdenv.cc.cc.lib
+ xorg.libX11
+ zlib
+ ];
+in
+stdenv.mkDerivation rec {
+ pname = "wasabiwallet";
+ version = "1.1.12.2";
+
+ src = fetchurl {
+ url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
+ sha256 = "0nl7n24nsy3gyzrxa6llx81pvsjqcwi0a4qdv34dpcq483aclp2r";
+ };
+
+ dontBuild = true;
+ dontPatchELF = true;
+
+ desktopItem = makeDesktopItem {
+ name = "wasabi";
+ exec = "wasabiwallet";
+ desktopName = "Wasabi";
+ genericName = "Bitcoin wallet";
+ comment = meta.description;
+ categories = "Network;Utility;";
+ };
+
+ installPhase = ''
+ mkdir -p $out/opt/${pname} $out/bin $out/share/applications
+ cp -Rv . $out/opt/${pname}
+ cd $out/opt/${pname}
+ for i in $(find . -type f -name '*.so') wassabee
+ do
+ patchelf --set-rpath ${libPath} $i
+ done
+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee
+ ln -s $out/opt/${pname}/wassabee $out/bin/${pname}
+ cp -v $desktopItem/share/applications/* $out/share/applications
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Privacy focused Bitcoin wallet";
+ homepage = "https://wasabiwallet.io/";
+ license = licenses.mit;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ mmahut ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix
new file mode 100644
index 000000000000..9a660bb8bffb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix
@@ -0,0 +1,104 @@
+{ stdenv, fetchFromGitHub, callPackage, makeWrapper, makeDesktopItem
+, nodejs, yarn, electron_7, jre8, tor }:
+
+let
+ system = stdenv.hostPlatform.system;
+ electron = electron_7;
+
+in stdenv.mkDerivation rec {
+ pname = "whirlpool-gui";
+ version = "0.10.1";
+
+ src = fetchFromGitHub {
+ owner = "Samourai-Wallet";
+ repo = pname;
+ rev = version;
+ sha256 = "ru6WJQRulhnQCPY2E0x9M6xXtFdj/pg2fu4HpQxhImU=";
+ };
+
+ yarnCache = stdenv.mkDerivation {
+ name = "${pname}-${version}-${system}-yarn-cache";
+ inherit src;
+ phases = [ "unpackPhase" "buildPhase" ];
+ nativeBuildInputs = [ yarn ];
+ buildPhase = ''
+ export HOME=$NIX_BUILD_ROOT
+
+ yarn config set yarn-offline-mirror $out
+ yarn --frozen-lockfile --ignore-scripts --ignore-platform \
+ --ignore-engines --no-progress --non-interactive
+ '';
+
+ outputHashMode = "recursive";
+ outputHashAlgo = "sha256";
+ outputHash = {
+ x86_64-linux = "6fl4cSwHXWgQcYlqxCae0p1Ppcb9fI5fFrxm7y6wxTo=";
+ }.${system} or (throw "Unsupported platform ${system}");
+ };
+
+ nativeBuildInputs = [ makeWrapper nodejs yarn ];
+
+ configurePhase = ''
+ # Yarn and bundler wants a real home directory to write cache, config, etc to
+ export HOME=$NIX_BUILD_ROOT
+
+ # Make yarn install packages from our offline cache, not the registry
+ yarn config --offline set yarn-offline-mirror ${yarnCache}
+ '';
+
+ buildPhase = ''
+ yarn install --offline --ignore-scripts --frozen-lockfile --no-progress --non-interactive
+
+ patchShebangs node_modules/
+
+ yarn build
+ '';
+
+ installPhase = ''
+ mkdir -p $out/{bin,share,libexec/whirlpool-gui/app}
+
+ # install production dependencies
+ yarn install \
+ --offline --frozen-lockfile --ignore-scripts \
+ --no-progress --non-interactive \
+ --production --no-bin-links \
+ --modules-folder $out/libexec/whirlpool-gui/node_modules
+
+ # copy application
+ cp -r app/{dist,app.html,main.prod.js,main.prod.js.map,img} $out/libexec/whirlpool-gui/app
+ cp -r package.json resources $out/libexec/whirlpool-gui
+
+ # make desktop item
+ ln -s "${desktopItem}/share/applications" "$out/share/applications"
+
+ # wrap electron
+ makeWrapper '${electron}/bin/electron' "$out/bin/whirlpool-gui" \
+ --add-flags "$out/libexec/whirlpool-gui" \
+ --prefix PATH : "${jre8}/bin:${tor}/bin"
+ '';
+
+ desktopItem = makeDesktopItem {
+ name = "whirlpool-gui";
+ exec = "whirlpool-gui";
+ icon = "whirlpool-gui";
+ desktopName = "Whirlpool";
+ genericName = "Whirlpool";
+ comment = meta.description;
+ categories = "Network;";
+ extraEntries = ''
+ StartupWMClass=whrilpool-gui
+ '';
+ };
+
+ passthru.prefetchYarnCache = stdenv.lib.overrideDerivation yarnCache (d: {
+ outputHash = stdenv.lib.fakeSha256;
+ });
+
+ meta = with stdenv.lib; {
+ description = "Desktop GUI for Whirlpool by Samourai-Wallet";
+ homepage = https://www.samouraiwallet.com/whirlpool;
+ license = licenses.unlicense;
+ maintainers = [ maintainers.offline ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix
new file mode 100644
index 000000000000..8d45e1a96b57
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchgit, cmake, boost, miniupnpc_2, openssl, unbound
+, readline, libsodium, rapidjson, fetchurl
+}:
+
+with stdenv.lib;
+
+let
+ randomwowVersion = "1.1.7";
+ randomwow = fetchurl {
+ url = "https://github.com/wownero/RandomWOW/archive/${randomwowVersion}.tar.gz";
+ sha256 = "1xp76zf01hnhnk6rjvqjav9n9pnvxzxlzqa5rc574d1c2qczfy3q";
+ };
+in
+
+stdenv.mkDerivation rec {
+ pname = "wownero";
+ version = "0.8.0.1";
+
+ src = fetchgit {
+ url = "https://git.wownero.com/wownero/wownero.git";
+ rev = "v${version}";
+ sha256 = "15443xv6q1nw4627ajk6k4ghhahvh82lb4gyb8nvq753p2v838g3";
+ fetchSubmodules = false;
+ };
+
+ nativeBuildInputs = [ cmake ];
+
+ buildInputs = [
+ boost miniupnpc_2 openssl unbound rapidjson readline libsodium
+ ];
+
+ postUnpack = ''
+ rm -r $sourceRoot/external/RandomWOW
+ unpackFile ${randomwow}
+ mv RandomWOW-${randomwowVersion} $sourceRoot/external/RandomWOW
+ '';
+
+ cmakeFlags = [
+ "-DReadline_ROOT_DIR=${readline.dev}"
+ "-DMANUAL_SUBMODULES=ON"
+ ];
+
+ meta = {
+ description = ''
+ A privacy-centric memecoin that was fairly launched on April 1, 2018 with
+ no pre-mine, stealth-mine or ICO
+ '';
+ longDescription = ''
+ Wownero has a maximum supply of around 184 million WOW with a slow and
+ steady emission over 50 years. It is a fork of Monero, but with its own
+ genesis block, so there is no degradation of privacy due to ring
+ signatures using different participants for the same tx outputs on
+ opposing forks.
+ '';
+ homepage = "https://wownero.org/";
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ fuwa ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
new file mode 100644
index 000000000000..9cccbd7b7e46
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost17x
+, zlib, gtest, gmock, callPackage, gmp, qt4, util-linux, protobuf, qrencode, libevent }:
+
+let librustzcash = callPackage ./librustzcash {};
+in
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+ pname = "zcash";
+ version = "2.1.1-1";
+
+ src = fetchFromGitHub {
+ owner = "zcash";
+ repo = "zcash";
+ rev = "v${version}";
+ sha256 = "1g5zlfzfp31my8w8nlg5fncpr2y95iv9fm04x57sjb93rgmjdh5n";
+ };
+
+ patchPhase = ''
+ sed -i"" 's,-fvisibility=hidden,,g' src/Makefile.am
+ '';
+
+ nativeBuildInputs = [ autoreconfHook pkgconfig ];
+ buildInputs = [ gtest gmock gmp openssl wget db62 boost17x zlib
+ protobuf libevent libsodium librustzcash ]
+ ++ optionals stdenv.isLinux [ util-linux ];
+
+ configureFlags = [ "--with-boost-libdir=${boost17x.out}/lib" ];
+
+ postInstall = ''
+ cp zcutil/fetch-params.sh $out/bin/zcash-fetch-params
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Peer-to-peer, anonymous electronic cash system";
+ homepage = "https://z.cash/";
+ maintainers = with maintainers; [ rht tkerber ];
+ license = licenses.mit;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix
new file mode 100644
index 000000000000..526adc715d45
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "librustzcash";
+ version = "0.1.0";
+
+ src = fetchFromGitHub {
+ owner = "zcash";
+ repo = "librustzcash";
+ rev = version;
+ sha256 = "0d28k29sgzrg9clynz29kpw50kbkp0a4dfdayqhmpjmsh05y6261";
+ };
+
+ cargoSha256 = "1wzyrcmcbrna6rjzw19c4lq30didzk4w6fs6wmvxp0xfg4qqdlax";
+
+ installPhase = ''
+ mkdir -p $out/lib
+ cp $releaseDir/librustzcash.a $out/lib/
+ mkdir -p $out/include
+ cp librustzcash/include/librustzcash.h $out/include/
+ '';
+
+ # The tests do pass, but they take an extremely long time to run.
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ description = "Rust-language assets for Zcash";
+ homepage = "https://github.com/zcash/librustzcash";
+ maintainers = with maintainers; [ rht tkerber ];
+ license = with licenses; [ mit asl20 ];
+ platforms = platforms.unix;
+ };
+}