#![allow(
clippy::all,
clippy::pedantic,
clippy::nursery,
clippy::expect_used,
clippy::unwrap_used,
clippy::indexing_slicing,
clippy::allow_attributes,
clippy::allow_attributes_without_reason,
clippy::mem_forget,
unfulfilled_lint_expectations,
unexpected_cfgs,
unused_imports
)]
use solana_address::Address;
use crate::nexus::generated::SEND_NEXUS_ID;
pub const USER_REWARD_DEBT_SEED: &'static [u8] = &[
117, 115, 101, 114, 95, 114, 101, 119, 97, 114, 100, 95, 100, 101, 98, 116,
];
pub fn create_user_reward_debt_pda(
user: Address,
staking_mint: Address,
reward_mint: Address,
bump: u8,
) -> Result<solana_address::Address, solana_address::error::AddressError> {
solana_address::Address::create_program_address(
&[
USER_REWARD_DEBT_SEED,
user.as_ref(),
staking_mint.as_ref(),
reward_mint.as_ref(),
&[bump],
],
&SEND_NEXUS_ID,
)
}
pub fn find_user_reward_debt_pda(
user: &Address,
staking_mint: &Address,
reward_mint: &Address,
) -> (solana_address::Address, u8) {
solana_address::Address::find_program_address(
&[
USER_REWARD_DEBT_SEED,
user.as_ref(),
staking_mint.as_ref(),
reward_mint.as_ref(),
],
&SEND_NEXUS_ID,
)
}