DragonX compatibility: crash fixes, reorg detection, server failover, sync perf
- Fix Rust FFI panics with catch_unwind wrappers and safe CString handling - Handle poisoned mutex/RwLock from prior panics instead of crashing - Add stuck sync detection (10s stall threshold) and chain reorg user prompt - Add "Skip Verification" button to seed phrase wizard - Update payment URIs from hush: to drgx: - Update branding strings throughout UI - Add all 6 lite servers (lite, lite1-5.dragonx.is) with random selection - Add server connectivity probing to skip unreachable servers - Reuse Tokio runtime across block fetch batches to reduce sync overhead - Update Cargo.lock dependencies
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=SilentDragonXLite
|
||||
Comment=Lite wallet for DragonX cryptocurrency
|
||||
Exec=/home/user/SilentDragonXLite/SilentDragonXLite
|
||||
Icon=/home/user/SilentDragonXLite/res/SDLogo.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Network;
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=SilentDragonXLite
|
||||
Comment=Lite wallet for DragonX cryptocurrency
|
||||
Exec=/home/user/SilentDragonXLite/SilentDragonXLite
|
||||
Icon=/home/user/SilentDragonXLite/res/SDLogo.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Network;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2024 The Hush Developers
|
||||
|
||||
username=$(id -un)
|
||||
sed -i "s|\/home\/.*\/SilentDragonXLite\/|\/home\/$username\/SilentDragonXLite\/|g" SilentDragonXLite.desktop
|
||||
cp SilentDragonXLite.desktop ~/.local/share/applications
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2024 The Hush Developers
|
||||
|
||||
username=$(id -un)
|
||||
sed -i "s|\/home\/.*\/SilentDragonXLite\/|\/home\/$username\/SilentDragonXLite\/|g" SilentDragonXLite.desktop
|
||||
cp SilentDragonXLite.desktop ~/.local/share/applications
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2024 The Hush Developers
|
||||
|
||||
cd ../ && ./build.sh linguist && ./build.sh
|
||||
|
||||
username=$(id -un)
|
||||
|
||||
cd util/ && sed -i "s|\/home\/.*\/SilentDragonXLite\/|\/home\/$username\/SilentDragonXLite\/|g" SilentDragonXLite.desktop
|
||||
|
||||
cp SilentDragonXLite.desktop ~/.local/share/applications
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2024 The Hush Developers
|
||||
|
||||
cd ../ && ./build.sh linguist && ./build.sh
|
||||
|
||||
username=$(id -un)
|
||||
|
||||
cd util/ && sed -i "s|\/home\/.*\/SilentDragonXLite\/|\/home\/$username\/SilentDragonXLite\/|g" SilentDragonXLite.desktop
|
||||
|
||||
cp SilentDragonXLite.desktop ~/.local/share/applications
|
||||
|
||||
@@ -1,42 +1,42 @@
|
||||
#!/usr/bin/perl
|
||||
# Copyright (c) 2016-2024 The Hush developers
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use autodie;
|
||||
use Data::Dumper;
|
||||
my ($find,$replace,@files) = @ARGV;
|
||||
|
||||
usage() unless $find && defined $replace;
|
||||
unless( @files ) {
|
||||
printf "No files to replace stuff!";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $fh;
|
||||
print "Going to replace $find with $replace in " . scalar(@files) . " files\n";
|
||||
|
||||
for my $file (@files) {
|
||||
if (-d $file) {
|
||||
printf "Skipping directory $file\n";
|
||||
next;
|
||||
}
|
||||
unless ( -e $file ) {
|
||||
printf "$file does not exist!\n";
|
||||
next;
|
||||
}
|
||||
open $fh, '<', $file;
|
||||
my $content = join('',<$fh>);
|
||||
$content =~ s/\Q$find\E/$replace/g;
|
||||
close $fh;
|
||||
|
||||
open $fh, '>', $file;
|
||||
print $fh $content;
|
||||
close $fh;
|
||||
}
|
||||
|
||||
sub usage {
|
||||
die "$0 stringtofind stringtoreplace file [more files...]\n";
|
||||
}
|
||||
#!/usr/bin/perl
|
||||
# Copyright (c) 2016-2024 The Hush developers
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use autodie;
|
||||
use Data::Dumper;
|
||||
my ($find,$replace,@files) = @ARGV;
|
||||
|
||||
usage() unless $find && defined $replace;
|
||||
unless( @files ) {
|
||||
printf "No files to replace stuff!";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $fh;
|
||||
print "Going to replace $find with $replace in " . scalar(@files) . " files\n";
|
||||
|
||||
for my $file (@files) {
|
||||
if (-d $file) {
|
||||
printf "Skipping directory $file\n";
|
||||
next;
|
||||
}
|
||||
unless ( -e $file ) {
|
||||
printf "$file does not exist!\n";
|
||||
next;
|
||||
}
|
||||
open $fh, '<', $file;
|
||||
my $content = join('',<$fh>);
|
||||
$content =~ s/\Q$find\E/$replace/g;
|
||||
close $fh;
|
||||
|
||||
open $fh, '>', $file;
|
||||
print $fh $content;
|
||||
close $fh;
|
||||
}
|
||||
|
||||
sub usage {
|
||||
die "$0 stringtofind stringtoreplace file [more files...]\n";
|
||||
}
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2016-2024 The Hush developers
|
||||
# Released under the GPLv3
|
||||
|
||||
# Usage: update-copyrights.sh 2024 2025
|
||||
# TODO: verify $1 and $2 exist
|
||||
|
||||
if ! command -v ack &> /dev/null
|
||||
then
|
||||
echo "ack could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v xargs &> /dev/null
|
||||
then
|
||||
echo "xargs could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# This update comments in source code
|
||||
ack -l -i "20..-20..*Hush dev" | xargs ./util/replace.pl -$1 -$2
|
||||
|
||||
# This updates the define which is used by C++ help output
|
||||
./util/replace.pl "COPYRIGHT_YEAR $1" "COPYRIGHT_YEAR $2" src/clientversion.h
|
||||
./util/replace.pl "COPYRIGHT_YEAR, $1" "COPYRIGHT_YEAR, $2" configure.ac
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2016-2024 The Hush developers
|
||||
# Released under the GPLv3
|
||||
|
||||
# Usage: update-copyrights.sh 2024 2025
|
||||
# TODO: verify $1 and $2 exist
|
||||
|
||||
if ! command -v ack &> /dev/null
|
||||
then
|
||||
echo "ack could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v xargs &> /dev/null
|
||||
then
|
||||
echo "xargs could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# This update comments in source code
|
||||
ack -l -i "20..-20..*Hush dev" | xargs ./util/replace.pl -$1 -$2
|
||||
|
||||
# This updates the define which is used by C++ help output
|
||||
./util/replace.pl "COPYRIGHT_YEAR $1" "COPYRIGHT_YEAR $2" src/clientversion.h
|
||||
./util/replace.pl "COPYRIGHT_YEAR, $1" "COPYRIGHT_YEAR, $2" configure.ac
|
||||
|
||||
Reference in New Issue
Block a user