#![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_STAKE_POSITION_SEED: &'static [u8] = &[
117, 115, 101, 114, 95, 115, 116, 97, 107, 101, 95, 112, 111, 115, 105,
116, 105, 111, 110,
];
pub fn create_user_stake_position_pda(
user: Address,
staking_mint: Address,
bump: u8,
) -> Result<solana_address::Address, solana_address::error::AddressError> {
solana_address::Address::create_program_address(
&[
USER_STAKE_POSITION_SEED,
user.as_ref(),
staking_mint.as_ref(),
&[bump],
],
&SEND_NEXUS_ID,
)
}
pub fn find_user_stake_position_pda(
user: &Address,
staking_mint: &Address,
) -> (solana_address::Address, u8) {
solana_address::Address::find_program_address(
&[
USER_STAKE_POSITION_SEED,
user.as_ref(),
staking_mint.as_ref(),
],
&SEND_NEXUS_ID,
)
}