Struct quarry_mine::Rewarder [−][src]
pub struct Rewarder {Show 13 fields
pub base: Pubkey,
pub bump: u8,
pub authority: Pubkey,
pub pending_authority: Pubkey,
pub num_quarries: u16,
pub annual_rewards_rate: u64,
pub total_rewards_shares: u64,
pub mint_wrapper: Pubkey,
pub rewards_token_mint: Pubkey,
pub claim_fee_token_account: Pubkey,
pub max_claim_fee_kbps: u64,
pub pause_authority: Pubkey,
pub is_paused: bool,
}
Expand description
PDA Structs
Controls token rewards distribution to all Quarrys. The Rewarder is also the [Minter] registered to the [MintWrapper].
Fields
base: Pubkey
Random pubkey used for generating the program address.
bump: u8
Bump seed for program address.
Authority who controls the rewarder
Pending authority which must accept the authority
num_quarries: u16
Number of Quarrys the Rewarder manages. If more than this many Quarrys are desired, one can create a second rewarder.
annual_rewards_rate: u64
Amount of reward tokens distributed per day
Total amount of rewards shares allocated to Quarrys
mint_wrapper: Pubkey
Mint wrapper.
rewards_token_mint: Pubkey
Mint of the rewards token for this Rewarder.
claim_fee_token_account: Pubkey
Claim fees are placed in this account.
max_claim_fee_kbps: u64
Maximum amount of tokens to send to the Quarry DAO on each claim, in terms of thousands of BPS. This is stored on the Rewarder to ensure that the fee will not exceed this in the future.
Authority allowed to pause a Rewarder.
is_paused: bool
If true, all instructions on the Rewarder are paused other than quarry_mine::unpause.
Implementations
pub fn compute_quarry_annual_rewards_rate(
&self,
quarry_rewards_share: u64
) -> Result<u64, ProgramError>
pub fn compute_quarry_annual_rewards_rate(
&self,
quarry_rewards_share: u64
) -> Result<u64, ProgramError>
Computes the amount of rewards a crate::Quarry should receive, annualized.
This should be run only after total_rewards_shares
has been set.
Trait Implementations
Deserializes previously initialized account data. Should fail for all
uninitialized accounts, where the bytes are zeroed. Implementations
should be unique to a particular account type so that one can never
successfully deserialize the data of one account type into another.
For example, if the SPL token program where to implement this trait,
it should impossible to deserialize a Mint
account into a token
Account
. Read more
Deserializes account data without checking the account discriminator. This should only be used on account initialization, when the bytes of the account are zeroed. Read more
Serializes the account data into writer
.
impl BorshDeserialize for Rewarder where
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u16: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u64: BorshDeserialize,
Pubkey: BorshDeserialize,
bool: BorshDeserialize,
impl BorshDeserialize for Rewarder where
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u16: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u64: BorshDeserialize,
Pubkey: BorshDeserialize,
bool: BorshDeserialize,
impl BorshSerialize for Rewarder where
Pubkey: BorshSerialize,
u8: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u16: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u64: BorshSerialize,
Pubkey: BorshSerialize,
bool: BorshSerialize,
impl BorshSerialize for Rewarder where
Pubkey: BorshSerialize,
u8: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u16: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u64: BorshSerialize,
Pubkey: BorshSerialize,
bool: BorshSerialize,
Auto Trait Implementations
impl RefUnwindSafe for Rewarder
impl UnwindSafe for Rewarder
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more