diff --git a/programs/quarry-merge-mine/src/account_conversions.rs b/programs/quarry-merge-mine/src/account_conversions.rs index cf1d6b20..409a6ee4 100644 --- a/programs/quarry-merge-mine/src/account_conversions.rs +++ b/programs/quarry-merge-mine/src/account_conversions.rs @@ -36,11 +36,6 @@ impl<'info> ClaimRewards<'info> { claim: self.stake.gen_user_claim(), } } - - /// Conversion. - pub fn to_user_stake_accounts(&self) -> quarry_mine::cpi::accounts::UserStake<'info> { - self.stake.gen_user_stake(&self.stake_token_account) - } } impl<'info> QuarryStake<'info> { diff --git a/programs/quarry-merge-mine/src/account_validators.rs b/programs/quarry-merge-mine/src/account_validators.rs index bfe12af5..b29b0528 100644 --- a/programs/quarry-merge-mine/src/account_validators.rs +++ b/programs/quarry-merge-mine/src/account_validators.rs @@ -92,12 +92,14 @@ impl<'info> Validate<'info> for ClaimRewards<'info> { fn validate(&self) -> Result<()> { self.stake.validate()?; - let staked_mint_key = self.stake.quarry.token_mint_key; - assert_keys_eq!(self.mint_wrapper, self.stake.rewarder.mint_wrapper); assert_keys_eq!(self.minter.mint_wrapper, self.mint_wrapper); assert_keys_eq!(self.minter.minter_authority, self.stake.rewarder); assert_keys_eq!(self.rewards_token_mint, self.mint_wrapper.token_mint); + assert_keys_eq!( + self.rewards_token_mint, + self.stake.rewarder.rewards_token_mint + ); assert_keys_eq!(self.rewards_token_account.mint, self.rewards_token_mint); assert_keys_eq!(self.rewards_token_account.owner, self.stake.mm); @@ -107,7 +109,6 @@ impl<'info> Validate<'info> for ClaimRewards<'info> { self.stake.rewarder.claim_fee_token_account ); assert_keys_eq!(self.claim_fee_token_account.mint, self.rewards_token_mint); - assert_keys_eq!(self.stake_token_account.mint, staked_mint_key); Ok(()) } diff --git a/programs/quarry-merge-mine/src/lib.rs b/programs/quarry-merge-mine/src/lib.rs index e4654cd4..d03942d9 100644 --- a/programs/quarry-merge-mine/src/lib.rs +++ b/programs/quarry-merge-mine/src/lib.rs @@ -304,7 +304,7 @@ pub struct ClaimRewards<'info> { /// Mint wrapper program. pub mint_wrapper_program: Program<'info, quarry_mint_wrapper::program::QuarryMintWrapper>, /// [quarry_mint_wrapper::Minter]. - #[account(mut)] + #[account(mut, has_one = mint_wrapper)] pub minter: Box>, /// [Mint] of the [quarry_mine] rewards token. @@ -320,9 +320,8 @@ pub struct ClaimRewards<'info> { pub claim_fee_token_account: Box>, /// Arbitrary account holding the [Mint] of the quarry staked token. - /// Passed to [quarry_mine] but unused. - #[account(mut)] - pub stake_token_account: Box>, + /// CHECK: Unused. + pub stake_token_account: UncheckedAccount<'info>, /// User's stake. pub stake: QuarryStake<'info>,