public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jonny Heggheim <hegjon@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/electron-cash] rawhide: Updated to version 4.4.6
Date: Wed, 12 Aug 2026 11:05:25 GMT	[thread overview]
Message-ID: <178653272584.1.13718005816210757788.rpms-electron-cash-ba7382ee9bfb@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/electron-cash
Branch : rawhide
Commit : ba7382ee9bfb873cb2766eaac1a6e14b5d6b1652
Author : Jonny Heggheim <hegjon@gmail.com>
Date   : 2026-08-12T13:05:17+02:00
Stats  : +9/-337 in 5 file(s)
URL    : https://src.fedoraproject.org/rpms/electron-cash/c/ba7382ee9bfb873cb2766eaac1a6e14b5d6b1652?branch=rawhide

Log:
Updated to version 4.4.6

---
diff --git a/.gitignore b/.gitignore
index bfd235a..09a5d74 100644
--- a/.gitignore
+++ b/.gitignore
@@ -101,3 +101,5 @@
 /electron_cash-4.4.4.tar.gz.asc
 /electron_cash-4.4.5.tar.gz
 /electron_cash-4.4.5.tar.gz.asc
+/electron_cash-4.4.6.tar.gz
+/electron_cash-4.4.6.tar.gz.asc

diff --git a/electron-cash.spec b/electron-cash.spec
index 067873d..1f2baf3 100644
--- a/electron-cash.spec
+++ b/electron-cash.spec
@@ -1,6 +1,6 @@
 Name:           electron-cash
-Version:        4.4.5
-Release:        4%{?dist}
+Version:        4.4.6
+Release:        1%{?dist}
 Summary:        A lightweight Bitcoin Cash client
 
 License:        MIT
@@ -8,9 +8,6 @@ URL:            https://electroncash.org/
 Source0:        https://github.com/Electron-Cash/Electron-Cash/releases/download/%{version}/electron_cash-%{version}.tar.gz
 Source1:        https://github.com/Electron-Cash/keys-n-hashes/raw/master/sigs-and-sums/%{version}/win-linux/electron_cash-%{version}.tar.gz.asc
 
-Source3:        https://raw.githubusercontent.com/Electron-Cash/Electron-Cash/refs/tags/4.4.2/electroncash/paymentrequest.proto
-Source4:        https://raw.githubusercontent.com/Electron-Cash/Electron-Cash/refs/tags/4.4.2/electroncash_plugins/fusion/protobuf/fusion.proto
-
 #Sun 15 Dec 2019, exported the upstream gpg key using the command:
 #gpg2 --armor --export --export-options export-minimal D56C110F4555F371AEEFCB254FD06489EFF1DDE1 D465135F97D0047E18E99DC321810A542031C02C > gpgkey-electron-cash.gpg
 Source2:        gpgkey-electron-cash.gpg
@@ -78,8 +75,6 @@ rm -rfv ./packages/
 pyrcc5 icons.qrc -o electroncash_gui/qt/icons_rc.py
 
 #Re-compile the protobuf description files
-install -D %{SOURCE3} electroncash/paymentrequest.proto
-install -D %{SOURCE4} electroncash_plugins/fusion/protobuf/fusion.proto
 protoc --proto_path=electroncash/ --python_out=electroncash/ electroncash/paymentrequest.proto
 protoc --proto_path=electroncash_plugins/fusion/protobuf/ --python_out=electroncash_plugins/fusion/ electroncash_plugins/fusion/protobuf/fusion.proto
 
@@ -130,6 +125,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.elect
 %{_datadir}/metainfo/org.electroncash.ElectronCash.appdata.xml
 
 %changelog
+* Wed Aug 12 2026 Jonny Heggheim <hegjon@gmail.com> - 4.4.6-1
+- Updated to version 4.4.6
+
 * Wed Jul 15 2026 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.5-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
 

diff --git a/fusion.proto b/fusion.proto
deleted file mode 100644
index f2273f7..0000000
--- a/fusion.proto
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Electron Cash - a lightweight Bitcoin Cash client
- * CashFusion - an advanced coin anonymizer
- *
- * Copyright (C) 2020 Mark B. Lundeberg
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-syntax = "proto2";
-
-package fusion;
-
-// Some primitives
-
-message InputComponent {
-    required bytes prev_txid = 1; // in 'reverse' order, just like in tx
-    required uint32 prev_index = 2;
-    required bytes pubkey = 3;
-    required uint64 amount = 4;
-    }
-
-message OutputComponent {
-    required bytes scriptpubkey = 1;
-    required uint64 amount = 2;
-    }
-
-message BlankComponent {
-    }
-
-message Component {
-    required bytes salt_commitment = 1; // 32 bytes
-    oneof component {
-        InputComponent input = 2;
-        OutputComponent output = 3;
-        BlankComponent blank = 4;
-        }
-    }
-
-message InitialCommitment {
-    required bytes salted_component_hash = 1; // 32 byte hash
-    required bytes amount_commitment = 2; // uncompressed point
-    required bytes communication_key = 3; // compressed point
-    }
-
-message Proof {
-    // During blame phase, messages of this form are encrypted and sent
-    // to a different player. It is already known which commitment this
-    // should apply to, so we only need to point at the component.
-    required fixed32 component_idx = 1;
-    required bytes salt = 2; // 32 bytes
-    required bytes pedersen_nonce = 3; // 32 bytes
-}
-
-
-
-// Primary communication message types (and flow)
-
-// Setup phase
-
-message ClientHello { // from client
-    required bytes version = 1;
-    optional bytes genesis_hash = 2; // 32 byte hash (bitcoind little-endian memory order)
-}
-
-message ServerHello { // from server
-    repeated uint64 tiers = 1;
-    required uint32 num_components = 2;
-    required uint64 component_feerate = 4; // sats/kB
-    required uint64 min_excess_fee = 5; // sats
-    required uint64 max_excess_fee = 6; // sats
-
-    optional string donation_address = 15; // BCH Address "bitcoincash:qpx..."
-}
-
-message JoinPools { // from client
-    message PoolTag {
-        // These tags can be used to client to stop the server from including
-        // the client too many times in the same fusion. Thus, the client can
-        // connect many times without fear of fusing with themselves.
-        required bytes id = 1; // allowed up to 20 bytes
-        required uint32 limit = 2; // between 1 and 5 inclusive
-        optional bool no_ip = 3; // whether to do an IP-less tag -- this will collide with all other users, make sure it's random so you can't get DoSed.
-    }
-    repeated uint64 tiers = 1;
-    repeated PoolTag tags = 2; // at most five tags.
-}
-
-message TierStatusUpdate { // from server
-    message TierStatus {
-        // in future, we will want server to indicate 'remaining time' and mask number of players.
-        // note: if player is in queue then a status will be ommitted.
-        optional uint32 players = 1;
-        optional uint32 min_players = 2; // minimum required to start (may have delay to allow extra)
-        optional uint32 max_players = 3; // maximum allowed (immediate start)
-        optional uint32 time_remaining = 4;
-    }
-    map<uint64, TierStatus> statuses = 1;
-}
-
-message FusionBegin { // from server
-    required uint64 tier = 1;
-    required bytes covert_domain = 2;
-    required uint32 covert_port = 3;
-    optional bool covert_ssl = 4;
-    required fixed64 server_time = 5; // server unix time when sending this message; can't be too far off from recipient's clock.
-}
-
-
-// Fusion round (repeatable multiple times per connection)
-
-message StartRound { // from server
-    required bytes round_pubkey = 1;
-    repeated bytes blind_nonce_points = 2;
-    required fixed64 server_time = 5; // server unix time when sending this message; can't be too far off from recipient's clock.
-    }
-
-// Phase 3
-message PlayerCommit { // from client
-    repeated bytes initial_commitments = 1; // serialized InitialCommitment messages; server will repeat them later, verbatim.
-    required uint64 excess_fee = 2;
-    required bytes pedersen_total_nonce = 3; // 32 bytes
-    required bytes random_number_commitment = 4; // 32 bytes
-    repeated bytes blind_sig_requests = 5; // 32 byte scalars
-    }
-
-// Phase 4
-message BlindSigResponses { // from server
-    repeated bytes scalars = 1; // 32 byte scalars
-}
-
-message AllCommitments {
-    // All the commitments from all players. At ~140 bytes per commitment and hundreds of commitments, this can be quite large, so it gets sent in its own message during the covert phase.
-    repeated bytes initial_commitments = 1;
-    }
-
-//Phase 5
-message CovertComponent { // from covert client
-    // The round key is used to identify the pool if needed
-    optional bytes round_pubkey = 1;
-    required bytes signature = 2;
-    required bytes component = 3; // bytes so that it can be signed and hashed verbatim
-    }
-
-//Phase 6
-message ShareCovertComponents { // from server
-    // This is a large message! 168 bytes per initial commitment, ~112 bytes per input component.
-    // Can easily reach 100 kB or more.
-    repeated bytes components = 4;
-    optional bool skip_signatures = 5; // if the server already sees a problem in submitted components
-    optional bytes session_hash = 6; // the server's calculation of session hash, so clients can crosscheck.
-}
-
-// Phase 7A
-message CovertTransactionSignature { // from covert client
-    // The round key is used to identify the pool if needed
-    optional bytes round_pubkey = 1;
-    required uint32 which_input = 2;
-    required bytes txsignature = 3;
-    }
-
-// Phase 8
-message FusionResult { // from server
-    required bool ok = 1;
-    repeated bytes txsignatures = 2; // if ok
-    repeated uint32 bad_components = 3; // if not ok
-    }
-
-// Phase 9
-message MyProofsList { // from client
-    repeated bytes encrypted_proofs = 1;
-    required bytes random_number = 2;  // the number we committed to, back in phase 3
-    }
-
-message TheirProofsList { // from server
-    message RelayedProof {
-        required bytes encrypted_proof = 1;
-        required uint32 src_commitment_idx = 2; // which of the commitments is being proven (index in full list)
-        required uint32 dst_key_idx = 3;  // which of the recipient's keys will unlock the encryption (index in player list)
-        }
-    repeated RelayedProof proofs = 1;
-    }
-
-// Phase 10
-message Blames { // from client
-    message BlameProof {
-        required uint32 which_proof = 1;
-        oneof decrypter {
-            bytes session_key = 2; // 32 byte, preferred if the proof decryption works at all
-            bytes privkey = 3; // 32 byte scalar
-            }
-
-        // Some errors can only be discovered by checking the blockchain,
-        // Namely, if an input UTXO is missing/spent/unconfirmed/different
-        // scriptpubkey/different amount, than indicated.
-        optional bool need_lookup_blockchain = 4;
-
-        // The client can indicate why it thinks the blame is deserved. In
-        // case the server finds no issue, this string might help for debugging.
-        optional string blame_reason = 5;
-        }
-    repeated BlameProof blames = 1;
-    }
-
-// Final message of the round
-message RestartRound {
-}
-
-// Fatal error from server, likely we did something wrong (it will disconnect us, but the message may help debugging).
-message Error {
-    optional string message = 1;
-}
-
-// Simple ping, as a keepalive.
-message Ping {
-}
-
-// Simple acknowledgement, nothing more to say.
-message OK {
-}
-
-// Primary communication channel types
-
-message ClientMessage {
-    oneof msg {
-        ClientHello clienthello = 1;
-        JoinPools joinpools = 2;
-        PlayerCommit playercommit = 3;
-        MyProofsList myproofslist = 5;
-        Blames blames = 6;
-        }
-    }
-
-message ServerMessage {
-    oneof msg {
-        ServerHello serverhello = 1;
-        TierStatusUpdate tierstatusupdate = 2;
-        FusionBegin fusionbegin = 3;
-        StartRound startround = 4;
-        BlindSigResponses blindsigresponses = 5;
-        AllCommitments allcommitments = 6;
-        ShareCovertComponents sharecovertcomponents = 7;
-        FusionResult fusionresult = 8;
-        TheirProofsList theirproofslist = 9;
-
-        RestartRound restartround = 14;
-        Error error = 15;
-        }
-    }
-
-message CovertMessage { // client -> server, covertly
-    oneof msg {
-        CovertComponent component = 1;
-        CovertTransactionSignature signature = 2;
-        Ping ping = 3;
-        }
-    }
-
-message CovertResponse { // server -> a covert client
-    oneof msg {
-        OK ok = 1;
-        Error error = 15;
-    }
-}

diff --git a/paymentrequest.proto b/paymentrequest.proto
deleted file mode 100644
index 32f9b56..0000000
--- a/paymentrequest.proto
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// Simple Bitcoin Payment Protocol messages
-//
-// Use fields 1000+ for extensions;
-// to avoid conflicts, register extensions via pull-req at
-// https://github.com/bitcoin/bips/bip-0070/extensions.mediawiki
-//
-
-syntax = "proto2";
-package payments;
-option java_package = "org.bitcoin.protocols.payments";
-option java_outer_classname = "Protos";
-
-// Generalized form of "send payment to this/these bitcoin addresses"
-message Output {
-        optional uint64 amount = 1 [default = 0]; // amount is integer-number-of-satoshis
-        required bytes script = 2; // usually one of the standard Script forms
-}
-message PaymentDetails {
-        optional string network = 1 [default = "main"]; // "main" or "test"
-        repeated Output outputs = 2;        // Where payment should be sent
-        required uint64 time = 3;           // Timestamp; when payment request created
-        optional uint64 expires = 4;        // Timestamp; when this request should be considered invalid
-        optional string memo = 5;           // Human-readable description of request for the customer
-        optional string payment_url = 6;    // URL to send Payment and get PaymentACK
-        optional bytes merchant_data = 7;   // Arbitrary data to include in the Payment message
-}
-message PaymentRequest {
-        optional uint32 payment_details_version = 1 [default = 1];
-        optional string pki_type = 2 [default = "none"];  // none / x509+sha256 / x509+sha1
-        optional bytes pki_data = 3;                      // depends on pki_type
-        required bytes serialized_payment_details = 4;    // PaymentDetails
-        optional bytes signature = 5;                     // pki-dependent signature
-}
-message X509Certificates {
-        repeated bytes certificate = 1;    // DER-encoded X.509 certificate chain
-}
-message Payment {
-        optional bytes merchant_data = 1;  // From PaymentDetails.merchant_data
-        repeated bytes transactions = 2;   // Signed transactions that satisfy PaymentDetails.outputs
-        repeated Output refund_to = 3;     // Where to send refunds, if a refund is necessary
-        optional string memo = 4;          // Human-readable message for the merchant
-}
-message PaymentACK {
-        required Payment payment = 1;      // Payment message that triggered this ACK
-        optional string memo = 2;          // human-readable message for customer
-}

diff --git a/sources b/sources
index 947d9ad..7fd5251 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (electron_cash-4.4.5.tar.gz) = ca9c786046887501a1908b7845ffd1cb2f62b19a031f3bc2f55b2efd0bb38905dfe6a799e3e525240f2544323297c5b797c568fc7930fd42861be87377d03cbf
-SHA512 (electron_cash-4.4.5.tar.gz.asc) = 54a38e952509980656f67ecef171900e8be0bcf62c4f1497b3d0143c391d0f3779d9894e852bed5cba731b4d9c5b2a62a21651017bcbaf466799d114e907ff06
+SHA512 (electron_cash-4.4.6.tar.gz) = 8c3687d82c324caab82815a7417736c264729052063ef8300d91d879784de31cc8b41c8c51655e8daca0182b6df8693ccab6048d19021c137a3012d824e57e63
+SHA512 (electron_cash-4.4.6.tar.gz.asc) = a998513c13c966e3869c1c316ade0c9aadd56284889623827fbf48ff5b7c4ed4cbe06dd2d666325ee17c20af1da99cc26aa0415db458ffbfe7c6d361f4c2f696

                 reply	other threads:[~2026-08-12 11:05 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178653272584.1.13718005816210757788.rpms-electron-cash-ba7382ee9bfb@fedoraproject.org \
    --to=hegjon@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox