mirror of
https://github.com/d0zingcat/ore.git
synced 2026-05-14 07:26:51 +00:00
cleanup
This commit is contained in:
@@ -10,8 +10,6 @@ mod close;
|
||||
mod deploy;
|
||||
mod deposit;
|
||||
mod log;
|
||||
// mod migrate_miner;
|
||||
mod migrate_treasury;
|
||||
mod reset;
|
||||
mod set_admin;
|
||||
mod set_fee_collector;
|
||||
@@ -31,8 +29,6 @@ use close::*;
|
||||
use deploy::*;
|
||||
use deposit::*;
|
||||
use log::*;
|
||||
// use migrate_miner::*;
|
||||
// use migrate_treasury::*;
|
||||
use reset::*;
|
||||
use set_admin::*;
|
||||
use set_fee_collector::*;
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
use ore_api::prelude::*;
|
||||
use solana_program::rent::Rent;
|
||||
use steel::*;
|
||||
|
||||
/// Sets the admin.
|
||||
pub fn process_migrate_miner(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult {
|
||||
// Load accounts.
|
||||
let [signer_info, config_info, miner_info, system_program] = accounts else {
|
||||
return Err(ProgramError::NotEnoughAccountKeys);
|
||||
};
|
||||
signer_info.is_signer()?;
|
||||
let config = config_info
|
||||
.as_account_mut::<Config>(&ore_api::ID)?
|
||||
.assert_mut_err(
|
||||
|c| c.admin == *signer_info.key,
|
||||
OreError::NotAuthorized.into(),
|
||||
)?;
|
||||
let miner = miner_info.as_account_mut::<MinerOLD>(&ore_api::ID)?;
|
||||
system_program.is_program(&system_program::ID)?;
|
||||
|
||||
// Record old values.
|
||||
let authority = miner.authority;
|
||||
let deployed = miner.deployed;
|
||||
let cumulative = miner.cumulative;
|
||||
let checkpoint_fee = miner.checkpoint_fee;
|
||||
let checkpoint_id = miner.checkpoint_id;
|
||||
let rewards_sol = miner.rewards_sol;
|
||||
let rewards_ore = miner.rewards_ore;
|
||||
let round_id = miner.round_id;
|
||||
let lifetime_rewards_sol = miner.lifetime_rewards_sol;
|
||||
let lifetime_rewards_ore = miner.lifetime_rewards_ore;
|
||||
|
||||
// Realloc miner.
|
||||
let new_size = 8 + std::mem::size_of::<Miner>();
|
||||
let old_size = 8 + std::mem::size_of::<MinerOLD>();
|
||||
let new_rent = Rent::get()?.minimum_balance(new_size);
|
||||
let old_rent = Rent::get()?.minimum_balance(old_size);
|
||||
let additional_rent = new_rent - old_rent;
|
||||
miner_info.realloc(new_size, false)?;
|
||||
miner_info.collect(additional_rent, &signer_info)?;
|
||||
|
||||
// Update miner.
|
||||
let miner = miner_info.as_account_mut::<Miner>(&ore_api::ID)?;
|
||||
miner.authority = authority;
|
||||
miner.deployed = deployed;
|
||||
miner.cumulative = cumulative;
|
||||
miner.checkpoint_fee = checkpoint_fee;
|
||||
miner.checkpoint_id = checkpoint_id;
|
||||
miner.rewards_sol = rewards_sol;
|
||||
miner.rewards_ore = rewards_ore;
|
||||
miner.round_id = round_id;
|
||||
miner.lifetime_rewards_sol = lifetime_rewards_sol;
|
||||
miner.lifetime_rewards_ore = lifetime_rewards_ore;
|
||||
miner.last_claim_ore_at = 0;
|
||||
miner.last_claim_sol_at = 0;
|
||||
miner.rewards_factor = Numeric::ZERO;
|
||||
miner.refined_ore = 0;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
use ore_api::prelude::*;
|
||||
use solana_program::{pubkey, rent::Rent};
|
||||
use steel::*;
|
||||
|
||||
/// Sets the admin.
|
||||
pub fn process_migrate_treasury(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult {
|
||||
// Load accounts.
|
||||
let [signer_info, config_info, system_program] = accounts else {
|
||||
return Err(ProgramError::NotEnoughAccountKeys);
|
||||
};
|
||||
signer_info.is_signer()?;
|
||||
let config = config_info
|
||||
.as_account_mut::<ConfigOLD>(&ore_api::ID)?
|
||||
.assert_mut_err(
|
||||
|c| c.admin == *signer_info.key,
|
||||
OreError::NotAuthorized.into(),
|
||||
)?;
|
||||
system_program.is_program(&system_program::ID)?;
|
||||
|
||||
// Record old values.
|
||||
let admin = config.admin;
|
||||
let fee_collector = config.fee_collector;
|
||||
let last_boost = config.last_boost;
|
||||
let is_seeker_activation_enabled = config.is_seeker_activation_enabled;
|
||||
|
||||
// Realloc treasury.
|
||||
let new_size = 8 + std::mem::size_of::<Config>();
|
||||
let old_size = 8 + std::mem::size_of::<ConfigOLD>();
|
||||
let new_rent = Rent::get()?.minimum_balance(new_size);
|
||||
let old_rent = Rent::get()?.minimum_balance(old_size);
|
||||
config_info.realloc(new_size, false)?;
|
||||
if new_size > old_size {
|
||||
let additional_rent = new_rent.saturating_sub(old_rent);
|
||||
config_info.collect(additional_rent, &signer_info)?;
|
||||
}
|
||||
|
||||
// Update config.
|
||||
let config = config_info.as_account_mut::<Config>(&ore_api::ID)?;
|
||||
config.admin = admin;
|
||||
config.fee_collector = fee_collector;
|
||||
config.bury_authority = pubkey!("HNWhK5f8RMWBqcA7mXJPaxdTPGrha3rrqUrri7HSKb3T");
|
||||
config.last_boost = last_boost;
|
||||
config.is_seeker_activation_enabled = is_seeker_activation_enabled;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user