mirror of
https://github.com/d0zingcat/ore.git
synced 2026-05-13 23:16:52 +00:00
wait
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user