@@ -57,6 +57,9 @@ const int INITIAL_TRAFFIC_GRAPH_MINS = 30;
57
57
const QSize FONT_RANGE (4 , 40 );
58
58
const char fontSizeSettingsKey[] = " consoleFontSize" ;
59
59
60
+ const std::string DEFAULT_CHALLENGE_STRING =
61
+ " 512103ad5e0edad18cb1f0fc0d28a3d4f1f3e445640337489abb10404f2d1e086be430210359ef5021964fe22d6f8e05b2463c9540ce96883fe3b278760f048f5189f2e6c452ae" ;
62
+
60
63
const struct {
61
64
const char *url;
62
65
const char *source;
@@ -717,6 +720,39 @@ void RPCConsole::setClientModel(ClientModel *model, int bestblock_height, int64_
717
720
ui->blocksDir ->setText (model->blocksDir ());
718
721
ui->startupTime ->setText (model->formatClientStartupTime ());
719
722
ui->networkName ->setText (QString::fromStdString (Params ().GetChainTypeString ()));
723
+ ui->networkName ->setWordWrap (true );
724
+
725
+ if (Params ().GetChainTypeString () == " signet" ) {
726
+ std::vector<uint8_t > vChallenge = Params ().GetConsensus ().signet_challenge ;
727
+ std::string challengeString = HexStr (vChallenge);
728
+ if (challengeString != DEFAULT_CHALLENGE_STRING) {
729
+ LogDebug (BCLog::QT, " rpcconsole:challengeString=%s\n " , challengeString);
730
+ if (challengeString.length () > 16 ) { // a sane minimum
731
+ std::string challenge_fingerprint = challengeString.substr (0 , 8 );
732
+ const QString title = tr (" Node window - [signet] (%1)" ).arg (QString::fromStdString (challenge_fingerprint));
733
+ // display fingerprint in Node window title
734
+ this ->setWindowTitle (title);
735
+ } else {
736
+ // A trivial challenge is supported. Example: signetchallenge=51
737
+ std::string challenge_fingerprint = challengeString.substr (0 , challengeString.length ());
738
+ const QString title = tr (" Node window - [signet] (%1)" ).arg (QString::fromStdString (challenge_fingerprint));
739
+ // display fingerprint in Node window title
740
+ this ->setWindowTitle (title);
741
+ }
742
+ if (challengeString.length () > (size_t )ui->networkName ->width ()) {
743
+ challengeString.insert (0 , " \n " ); // break after Signet:
744
+ challengeString.insert (65 , " \n " ); // then split at (130/2)
745
+ }
746
+ ui->networkName ->setToolTip (
747
+ tr (" %1" ).arg (QString::fromStdString (challengeString)));
748
+ ui->networkName ->setText (
749
+ tr (" %1\n Challenge: %2" ).arg (" Signet" ).arg (QString::fromStdString (challengeString)));
750
+ } else {
751
+ ui->networkName ->setText (tr (" Signet: Default" ));
752
+ ui->networkName ->setToolTip (QString ());
753
+ this ->setWindowTitle (tr (" [signet] Default" ));
754
+ }
755
+ }
720
756
721
757
// Setup autocomplete and attach it
722
758
QStringList wordList;
0 commit comments