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:
138
build.sh
138
build.sh
@@ -1,69 +1,69 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright 2019-2024 The Hush Developers
|
||||
# Released under the GPLv3
|
||||
|
||||
UNAME=$(uname)
|
||||
|
||||
# check if rustc and cargo are installed, otherwise exit with error
|
||||
if ! command -v rustc &> /dev/null
|
||||
then
|
||||
echo "rustc could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v cargo &> /dev/null
|
||||
then
|
||||
echo "cargo could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v qmake &> /dev/null
|
||||
then
|
||||
echo "qmake could not be found. Please install QT and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v make &> /dev/null
|
||||
then
|
||||
echo "make could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(grep APP_VERSION src/version.h |cut -d\" -f2)
|
||||
QTVERSION=$(qmake --version | tail -n 1 | cut -d' ' -f4)
|
||||
QT_MAJOR_VERSION=$(echo $QTVERSION | cut -d. -f1)
|
||||
QT_SUB_VERSION=$(echo $QTVERSION | cut -d. -f2)
|
||||
|
||||
if [ "$QT_MAJOR_VERSION" != "5" ]; then
|
||||
echo "Your QT version $QTVERSION is not compatible, only QT 5.x is supported"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$QT_SUB_VERSION" -lt "12" ]; then
|
||||
echo "Your QT version $QTVERSION is not compatible, at least QT 5.12.0 is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Compiling SilentDragonXLite $VERSION on $UNAME with QT $QTVERSION and args=$@"
|
||||
CONF=silentdragonx-lite.pro
|
||||
|
||||
set -e
|
||||
qbuild () {
|
||||
qmake $CONF CONFIG+=debug
|
||||
#lupdate $CONF
|
||||
#lrelease $CONF
|
||||
# default to 2 jobs or use the -j value given as argument to this script
|
||||
make -j2 "$@"
|
||||
}
|
||||
|
||||
if [ "$1" == "clean" ]; then
|
||||
make clean
|
||||
elif [ "$1" == "linguist" ]; then
|
||||
lupdate $CONF
|
||||
lrelease $CONF
|
||||
elif [ "$1" == "cleanbuild" ]; then
|
||||
make clean
|
||||
qbuild "$@"
|
||||
else
|
||||
qbuild "$@"
|
||||
fi
|
||||
#!/usr/bin/env bash
|
||||
# Copyright 2019-2024 The Hush Developers
|
||||
# Released under the GPLv3
|
||||
|
||||
UNAME=$(uname)
|
||||
|
||||
# check if rustc and cargo are installed, otherwise exit with error
|
||||
if ! command -v rustc &> /dev/null
|
||||
then
|
||||
echo "rustc could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v cargo &> /dev/null
|
||||
then
|
||||
echo "cargo could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v qmake &> /dev/null
|
||||
then
|
||||
echo "qmake could not be found. Please install QT and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v make &> /dev/null
|
||||
then
|
||||
echo "make could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(grep APP_VERSION src/version.h |cut -d\" -f2)
|
||||
QTVERSION=$(qmake --version | tail -n 1 | cut -d' ' -f4)
|
||||
QT_MAJOR_VERSION=$(echo $QTVERSION | cut -d. -f1)
|
||||
QT_SUB_VERSION=$(echo $QTVERSION | cut -d. -f2)
|
||||
|
||||
if [ "$QT_MAJOR_VERSION" != "5" ]; then
|
||||
echo "Your QT version $QTVERSION is not compatible, only QT 5.x is supported"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$QT_SUB_VERSION" -lt "12" ]; then
|
||||
echo "Your QT version $QTVERSION is not compatible, at least QT 5.12.0 is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Compiling SilentDragonXLite $VERSION on $UNAME with QT $QTVERSION and args=$@"
|
||||
CONF=silentdragonx-lite.pro
|
||||
|
||||
set -e
|
||||
qbuild () {
|
||||
qmake $CONF CONFIG+=debug
|
||||
#lupdate $CONF
|
||||
#lrelease $CONF
|
||||
# default to 2 jobs or use the -j value given as argument to this script
|
||||
make -j2 "$@"
|
||||
}
|
||||
|
||||
if [ "$1" == "clean" ]; then
|
||||
make clean
|
||||
elif [ "$1" == "linguist" ]; then
|
||||
lupdate $CONF
|
||||
lrelease $CONF
|
||||
elif [ "$1" == "cleanbuild" ]; then
|
||||
make clean
|
||||
qbuild "$@"
|
||||
else
|
||||
qbuild "$@"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user