This commit is contained in:
Hardhat Chad
2025-10-02 13:05:56 -07:00
parent eb40335fa3
commit 882a34c972
3 changed files with 32 additions and 3 deletions

View File

@@ -101,6 +101,9 @@ async fn main() {
"claim_seeker" => {
claim_seeker(&rpc, &payer).await.unwrap();
}
"participating_miners" => {
participating_miners(&rpc).await.unwrap();
}
"keys" => {
keys().await.unwrap();
}
@@ -108,6 +111,16 @@ async fn main() {
};
}
async fn participating_miners(rpc: &RpcClient) -> Result<(), anyhow::Error> {
let round_id = std::env::var("ID").expect("Missing ID env var");
let round_id = u64::from_str(&round_id).expect("Invalid ID");
let miners = get_miners_participating(rpc, round_id).await?;
for (i, (address, miner)) in miners.iter().enumerate() {
println!("{}: {}", i, miner.authority);
}
Ok(())
}
// Dmy2fqxpkUocwvkALMDwfCRFeYfkdGqgB5PLfmZW5ASR
// Az9Xia5f6EXU9MGHuuMCKyHMy3MfNnsoyTbh7HTuFw5G
// 5muLAbcjsAMcP8438KPfo2Jqw2vgAtuSDvMFNWb6Bexi
@@ -629,6 +642,15 @@ async fn get_miners_old(rpc: &RpcClient) -> Result<Vec<(Pubkey, MinerOLD)>, anyh
Ok(miners)
}
async fn get_miners_participating(
rpc: &RpcClient,
round_id: u64,
) -> Result<Vec<(Pubkey, Miner)>, anyhow::Error> {
let filter = RpcFilterType::Memcmp(Memcmp::new_base58_encoded(472, &round_id.to_le_bytes()));
let miners = get_program_accounts::<Miner>(rpc, ore_api::ID, vec![filter]).await?;
Ok(miners)
}
fn get_winning_square(slot_hash: &[u8]) -> u64 {
// Use slot hash to generate a random u64
let r1 = u64::from_le_bytes(slot_hash[0..8].try_into().unwrap());