account validation checks

This commit is contained in:
Hardhat Chad
2024-09-27 07:41:48 +00:00
parent 4f35fb23c6
commit 8b095c2336
3 changed files with 9 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ use ore_api::{
error::OreError,
event::MineEvent,
instruction::Mine,
loaders::OreAccountInfoValidation,
state::{Bus, Config, Proof},
};
use solana_program::program::set_return_data;
@@ -32,7 +33,9 @@ pub fn process_mine(accounts: &[AccountInfo], data: &[u8]) -> ProgramResult {
};
signer_info.is_signer()?;
let bus = bus_info.to_account_mut::<Bus>(&ore_api::ID)?;
let config = config_info.to_account::<Config>(&ore_api::ID)?;
let config = config_info
.is_config()?
.to_account::<Config>(&ore_api::ID)?;
let proof = proof_info
.to_account_mut::<Proof>(&ore_api::ID)?
.check_mut(|p| p.miner == *signer_info.key)?;

View File

@@ -39,7 +39,9 @@ pub fn process_reset(accounts: &[AccountInfo<'_>], _data: &[u8]) -> ProgramResul
let bus_7 = bus_7_info
.to_account_mut::<Bus>(&ore_api::ID)?
.check_mut(|b| b.id == 7)?;
let config = config_info.to_account_mut::<Config>(&ore_api::ID)?;
let config = config_info
.is_config()?
.to_account_mut::<Config>(&ore_api::ID)?;
let mint = mint_info
.has_address(&MINT_ADDRESS)?
.is_writable()?

View File

@@ -1,4 +1,4 @@
use ore_api::{consts::*, error::OreError, instruction::Stake};
use ore_api::{consts::*, error::OreError, instruction::Stake, loaders::OreAccountInfoValidation};
use steel::*;
/// Upgrade allows a user to migrate a v1 token to a v2 token at a 1:1 exchange rate.
@@ -32,6 +32,7 @@ pub fn process_upgrade(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResu
.to_token_account()?
.check(|t| t.owner == *signer_info.key)?
.check(|t| t.mint == MINT_V1_ADDRESS)?;
treasury_info.is_treasury()?;
token_program.is_program(&spl_token::ID)?;
// Burn v1 tokens