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_millibps: u64,
pub pause_authority: Pubkey,
pub is_paused: bool,
}
Expand description
Controls token rewards distribution to all Quarrys. The Rewarder is also the quarry_mint_wrapper::Minter registered to the quarry_mint_wrapper::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_millibps: u64
Maximum amount of tokens to send to the Quarry DAO on each claim, in terms of milliBPS. 1,000 milliBPS = 1 BPS = 0.01% 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 were to implement this trait,
it should be impossible to deserialize a Mint
account into a token
Account
. Read more
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