fix: crash when adding new pool, fix release and add ideas

This commit is contained in:
Cyrix126 2025-01-06 01:14:22 +01:00
parent 012ddfc8a9
commit 12e5e4d8b7
4 changed files with 27 additions and 7 deletions

6
Cargo.lock generated
View file

@ -2029,7 +2029,7 @@ dependencies = [
[[package]] [[package]]
name = "gupaxx" name = "gupaxx"
version = "1.7.0-rc3" version = "1.7.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"benri", "benri",
@ -5897,9 +5897,9 @@ checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
[[package]] [[package]]
name = "xattr" name = "xattr"
version = "1.3.1" version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" checksum = "e105d177a3871454f754b33bb0ee637ecaaac997446375fd3e5d43a2ed00c909"
dependencies = [ dependencies = [
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",

View file

@ -1,7 +1,7 @@
cargo-features = ["profile-rustflags", "codegen-backend"] cargo-features = ["profile-rustflags", "codegen-backend"]
[package] [package]
name = "gupaxx" name = "gupaxx"
version = "1.7.0" version = "1.7.1"
authors = ["cyrix126 <gupaxx@baermail.fr>"] authors = ["cyrix126 <gupaxx@baermail.fr>"]
description = "Fork of Gupax integrating the XMRvsBeast Raffle " description = "Fork of Gupax integrating the XMRvsBeast Raffle "
documentation = "https://github.com/cyrix126/gupaxx" documentation = "https://github.com/cyrix126/gupaxx"

View file

@ -106,6 +106,12 @@ The user could see how the HR was given on P2Pool and XvB.
To have the latest benchmark from XMRig, but still including one by default. Also automates the inclusion on release. To have the latest benchmark from XMRig, but still including one by default. Also automates the inclusion on release.
### Auto restart after updates ### Auto restart after updates
Updates can be applied only when Gupaxx is restarted. Make a button to auto-restart after updates. Updates can be applied only when Gupaxx is restarted. Make a button to auto-restart after updates.
### Ban spy node list recommended by MRL
https://github.com/monero-project/meta/issues/1124
Enabled by default, button to disable.
### New suit of tests, including testing interaction of widgets
A lot of tests since the fork makes less sense and a lot of new situation needs to be tested. Time should be taken to add new tests and make Gupaxx more robust.
egui_kittest library can be used to test the interaction of the UI directly.
### Manually set HR for XvB algo ### Manually set HR for XvB algo
Done by [Sina](https://github.com/mostafaei2002) [PR](https://github.com/Cyrix126/gupaxx/pull/11) Done by [Sina](https://github.com/mostafaei2002) [PR](https://github.com/Cyrix126/gupaxx/pull/11)
An advanced tab on XvB tab with multiple tools to set the HR manually. An advanced tab on XvB tab with multiple tools to set the HR manually.
@ -124,6 +130,18 @@ The algorithm would still check the estimation made by the P2Pool instance of Gu
Could also be an option in advanced tab of XvB warning the user that he should point all his miners to the P2Pool instance of Gupaxx to take them into account. Could also be an option in advanced tab of XvB warning the user that he should point all his miners to the P2Pool instance of Gupaxx to take them into account.
It can be a checkbox into advanced option of XvB to use the stratum data. It can be a checkbox into advanced option of XvB to use the stratum data.
## Privacy
### Button enabling Tor
Allow to torify every processes. For mining, it can add a big disadvantage because of the latency. More research on the impact on missed rewards are needed to be able to warn the user of how much gaines he could miss.
### Description of data given to servers
Describing what data can be saved/collected/published and the privacy impact while interacting with:
- updates
- xmrig benchmarks
- remote nodes
- monero network
- p2pool network
- XvB Raffle
## Trust-less Builds ## Trust-less Builds
### Reproducible builds ### Reproducible builds
To remove (un)necessary trust, binaries released should have the same checksum if recompiled without code change. To remove (un)necessary trust, binaries released should have the same checksum if recompiled without code change.
@ -136,6 +154,8 @@ let the build in updater of Gupaxx check the signature of the release to confirm
## Donation ## Donation
### Donation transparency ### Donation transparency
So that user can see how much is given to this project and make their own opinion of it if enough donations have been given or not, the history of donation should be made visible with the viewkey available. So that user can see how much is given to this project and make their own opinion of it if enough donations have been given or not, the history of donation should be made visible with the viewkey available.
#### Kuno page
A page describing the time required for each release, keeping track of funds per releases. Informing donators of the ROADMAP and what they can expect from donating.
## XvB ## XvB
keeping track of participation history in rounds and automatically showing results in the XvB tab. keeping track of participation history in rounds and automatically showing results in the XvB tab.

View file

@ -188,7 +188,7 @@ fn add_save_node(
// [Add/Save] // [Add/Save]
let mut exists = false; let mut exists = false;
let mut save_diff = true; let mut save_diff = true;
let mut existing_index = 0; let mut existing_index = 0usize;
for (name, node) in node_vec.iter() { for (name, node) in node_vec.iter() {
if *name == *current.0 { if *name == *current.0 {
exists = true; exists = true;
@ -220,7 +220,7 @@ fn add_save_node(
let rpc = current.2.clone(); let rpc = current.2.clone();
// zmq can be rig in case of Pool // zmq can be rig in case of Pool
let zmq = current.3.clone(); let zmq = current.3.clone();
let poolnode = &mut node_vec[existing_index].1; let poolnode = &mut node_vec[selected.index].1;
poolnode.set_ip(ip); poolnode.set_ip(ip);
poolnode.set_port(rpc); poolnode.set_port(rpc);
poolnode.set_custom(zmq); poolnode.set_custom(zmq);
@ -251,7 +251,7 @@ fn add_save_node(
let rpc = current.2.clone(); let rpc = current.2.clone();
// zmq can be rig in case of Pool // zmq can be rig in case of Pool
let zmq = current.3.clone(); let zmq = current.3.clone();
let poolnode = match node_vec[existing_index].1 { let poolnode = match node_vec[selected.index].1 {
PoolNode::Node(_) => PoolNode::Node(Node { ip, rpc, zmq }), PoolNode::Node(_) => PoolNode::Node(Node { ip, rpc, zmq }),
PoolNode::Pool(_) => PoolNode::Pool(Pool { PoolNode::Pool(_) => PoolNode::Pool(Pool {
rig: zmq, rig: zmq,