Skip to content

Commit

Permalink
Refactor binaries for clythor
Browse files Browse the repository at this point in the history
  • Loading branch information
MCozhusheck committed Sep 26, 2024
1 parent 185ca32 commit 138ef9f
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 7 deletions.
4 changes: 3 additions & 1 deletion src-tauri/src/app_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,9 @@ impl AppConfig {
}

pub async fn set_randomx_miner(&mut self, miner: RandomXMiner) -> Result<(), anyhow::Error> {
self.randomx_miner = miner
self.randomx_miner = miner;
self.update_config_file().await?;
Ok(())
}
pub fn application_language(&self) -> &str {
&self.application_language
Expand Down
8 changes: 8 additions & 0 deletions src-tauri/src/binaries/binaries_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pub enum Binaries {
Wallet,
ShaP2pool,
GpuMiner,
Clythor,
}

impl Binaries {
Expand All @@ -21,6 +22,7 @@ impl Binaries {
Binaries::Wallet => "wallet",
Binaries::ShaP2pool => "sha-p2pool",
Binaries::GpuMiner => "xtrgpuminer",
Binaries::Clythor => "clythor",
}
}

Expand All @@ -32,6 +34,7 @@ impl Binaries {
"wallet" => Some(Binaries::Wallet),
"sha-p2pool" => Some(Binaries::ShaP2pool),
"xtrgpuminer" => Some(Binaries::GpuMiner),
"clythor" => Some(Binaries::Clythor),
_ => None,
}
}
Expand Down Expand Up @@ -62,6 +65,10 @@ impl Binaries {
let file_name = "xtrgpuminer";
PathBuf::from(file_name)
}
Binaries::Clythor => {
let file_name = "clythor";
PathBuf::from(file_name)
}
}
}

Expand All @@ -73,6 +80,7 @@ impl Binaries {
Binaries::Wallet,
Binaries::ShaP2pool,
Binaries::GpuMiner,
Binaries::Clythor,
]
.iter()
.copied()
Expand Down
13 changes: 13 additions & 0 deletions src-tauri/src/binaries/binaries_resolver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,19 @@ impl BinaryResolver {
_ => panic!("Unsupported network"),
};

binary_manager.insert(
Binaries::Clythor,
BinaryManager::new(
Binaries::Clythor.name().to_string(),
Box::new(GithubReleasesAdapter {
repo: "clythor".to_string(),
owner: "tari-project".to_string(),
specific_name: None,
}),
None,
true,
),
);
binary_manager.insert(
Binaries::Xmrig,
BinaryManager::new(
Expand Down
6 changes: 4 additions & 2 deletions src-tauri/src/clythor_adapter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use async_trait::async_trait;
use log::warn;
use tari_shutdown::Shutdown;

use crate::binary_resolver::{Binaries, BinaryResolver};
use crate::binaries::{Binaries, BinaryResolver};
use crate::process_adapter::{ProcessAdapter, ProcessInstance, StatusMonitor};
use crate::process_utils;
use crate::xmrig::http_api::XmrigHttpApiClient;
Expand Down Expand Up @@ -88,7 +88,9 @@ impl ProcessAdapter for ClythorAdapter {
shutdown: clythor_shutdown,
handle: Some(tokio::spawn(async move {
let clythor_bin = BinaryResolver::current()
.resolve_path(Binaries::Clythor)
.read()
.await
.resolve_path_to_binary_files(Binaries::Clythor)
.await?;

crate::download_utils::set_permissions(&clythor_bin).await?;
Expand Down
2 changes: 2 additions & 0 deletions src/containers/Settings/MiningSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ import GpuMiningMarkup from './sections/mining/GpuMiningMarkup.tsx';
import SeedWordsMarkup from './sections/mining/SeedWordsMarkup';
import MoneroAddressMarkup from './sections/mining/MoneroAddressMarkup';
import WalletAddressMarkup from './sections/mining/WalletAddressMarkup.tsx';
import RandomXCpuMiner from './sections/experimental/RandomXCpuMiner.tsx';

export const MiningSettings = () => {
return (
<>
<WalletAddressMarkup />
<RandomXCpuMiner />
<CpuMiningMarkup />
<GpuMiningMarkup />
<SeedWordsMarkup />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { Select } from '@app/components/elements/inputs/Select';
import { useMiningStore } from '@app/store/useMiningStore';
import { CpuMiner } from '@app/types/mining';
import { TileItem } from '../../Miner/styles';
import { TileItem } from '@app/containers/SideBar/Miner/styles';
import { Typography } from '@app/components/elements/Typography';
import { useTranslation } from 'react-i18next';
import { useMiningControls } from '@app/hooks/mining/useMiningControls';
import { useShallow } from 'zustand/react/shallow';
import { useAppStateStore } from '@app/store/appStateStore';

Expand All @@ -21,7 +20,11 @@ export const RandomXCpuMiner: React.FC = () => {
const isMiningControlsEnabled = useMiningStore(useShallow((s) => s.miningControlsEnabled));
const isChangingMode = useMiningStore((s) => s.isChangingMode);

const { isMiningLoading } = useMiningControls();
const isCPUMining = useMiningStore((s) => s.cpu.mining.is_mining);
const isGPUMining = useMiningStore((s) => s.gpu.mining.is_mining);
const isMiningInitiated = useMiningStore((s) => s.miningInitiated);
const isMining = isCPUMining || isGPUMining;
const isMiningLoading = (isMining && !isMiningInitiated) || (isMiningInitiated && !isMining);

return (
<TileItem layoutId="miner-mode-select-tile" layout>
Expand Down
2 changes: 2 additions & 0 deletions src/hooks/useSetUp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { invoke } from '@tauri-apps/api/tauri';
import { useUIStore } from '../store/useUIStore.ts';
import { useAppStateStore } from '../store/appStateStore.ts';
import { useAppConfigStore } from '@app/store/useAppConfigStore.ts';
import { useMiningStore } from '@app/store/useMiningStore.ts';

export function useSetUp() {
const setView = useUIStore((s) => s.setView);
Expand All @@ -16,6 +17,7 @@ export function useSetUp() {
const fetchAppConfig = useAppConfigStore((s) => s.fetchAppConfig);
const settingUpFinished = useAppStateStore((s) => s.settingUpFinished);
const setCriticalError = useAppStateStore((s) => s.setCriticalError);
const setCpuMiner = useMiningStore((s) => s.setCpuMiner);

useEffect(() => {
async function initialize() {
Expand Down
3 changes: 2 additions & 1 deletion src/store/useMiningStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ export const useMiningStore = create<MiningStoreState>()((set, getState) => ({
startMining: async () => {
console.info('Mining starting....');
set({ miningInitiated: true });
const miner = getState().cpuMiner;
try {
await invoke('start_mining', {});
await invoke('start_mining', { miner });
} catch (e) {
const appStateStore = useAppStateStore.getState();
console.error(e);
Expand Down

0 comments on commit 138ef9f

Please sign in to comment.