remove crown instruction

This commit is contained in:
Hardhat Chad
2024-07-20 19:16:36 +00:00
parent 42a66de106
commit 7954bfa9ec
9 changed files with 28 additions and 120 deletions

View File

@@ -32,13 +32,6 @@ pub enum OreInstruction {
#[account(3, name = "system_program", desc = "Solana system program")]
Close = 1,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
#[account(2, name = "config", desc = "Ore config account", writable)]
#[account(3, name = "proof", desc = "Ore proof account current top staker")]
#[account(4, name = "proof_new", desc = "Ore proof account new top staker")]
Crown = 2,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
#[account(2, name = "bus", desc = "Ore bus account", writable)]
@@ -46,7 +39,7 @@ pub enum OreInstruction {
#[account(4, name = "noise", desc = "Ore noise account")]
#[account(5, name = "proof", desc = "Ore proof account", writable)]
#[account(6, name = "slot_hashes", desc = "Solana slot hashes sysvar")]
Mine = 3,
Mine = 2,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
@@ -55,7 +48,7 @@ pub enum OreInstruction {
#[account(4, name = "proof", desc = "Ore proof account", writable)]
#[account(5, name = "system_program", desc = "Solana system program")]
#[account(6, name = "slot_hashes", desc = "Solana slot hashes sysvar")]
Open = 4,
Open = 3,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
@@ -72,7 +65,7 @@ pub enum OreInstruction {
#[account(12, name = "treasury", desc = "Ore treasury account", writable)]
#[account(13, name = "treasury_tokens", desc = "Ore treasury token account", writable)]
#[account(14, name = "token_program", desc = "SPL token program")]
Reset = 5,
Reset = 4,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
@@ -80,12 +73,12 @@ pub enum OreInstruction {
#[account(3, name = "sender", desc = "Signer token account", writable)]
#[account(4, name = "treasury_tokens", desc = "Ore treasury token account", writable)]
#[account(5, name = "token_program", desc = "SPL token program")]
Stake = 6,
Stake = 5,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
#[account(2, name = "proof", desc = "Ore proof account", writable)]
Update = 7,
Update = 6,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Signer", signer)]
@@ -95,7 +88,7 @@ pub enum OreInstruction {
#[account(5, name = "mint", desc = "Ore token mint account", writable)]
#[account(6, name = "mint_v1", desc = "Ore v1 token mint account", writable)]
#[account(7, name = "token_program", desc = "SPL token program")]
Upgrade = 8,
Upgrade = 7,
#[account(0, name = "ore_program", desc = "Ore program")]
#[account(1, name = "signer", desc = "Admin signer", signer)]
@@ -231,21 +224,6 @@ pub fn close(signer: Pubkey) -> Instruction {
}
}
/// Builds a crown instruction.
pub fn crown(signer: Pubkey, current_top_staker: Pubkey) -> Instruction {
let proof_pda = Pubkey::find_program_address(&[PROOF, signer.as_ref()], &crate::id());
Instruction {
program_id: crate::id(),
accounts: vec![
AccountMeta::new(signer, true),
AccountMeta::new(CONFIG_ADDRESS, false),
AccountMeta::new_readonly(current_top_staker, false),
AccountMeta::new_readonly(proof_pda.0, false),
],
data: OreInstruction::Crown.to_vec(),
}
}
/// Builds a mine instruction.
pub fn mine(
signer: Pubkey,

View File

@@ -19,6 +19,9 @@ pub struct Bus {
/// The rewards this bus would have paid out in the current epoch if there no limit.
/// Used to calculate the updated reward rate.
pub theoretical_rewards: u64,
/// The largest known stake balance seen by the bus this epoch.
pub top_balance: u64,
}
impl Discriminator for Bus {

View File

@@ -1,6 +1,5 @@
use bytemuck::{Pod, Zeroable};
use shank::ShankAccount;
use solana_program::pubkey::Pubkey;
use crate::utils::{impl_account_from_bytes, impl_to_bytes, Discriminator};
@@ -19,11 +18,8 @@ pub struct Config {
/// The minimum accepted difficulty.
pub min_difficulty: u64,
/// The address of the proof account with the highest stake balance.
pub top_staker: Pubkey,
/// The largest known stake balance on the network.
pub top_staker_balance: u64,
/// The largest known stake balance on the network from the last epoch.
pub top_balance: u64,
}
impl Discriminator for Config {