Struct quarry_mine::Quarry [−][src]
pub struct Quarry {
pub rewarder_key: Pubkey,
pub token_mint_key: Pubkey,
pub bump: u8,
pub index: u16,
pub token_mint_decimals: u8,
pub famine_ts: i64,
pub last_update_ts: i64,
pub rewards_per_token_stored: u128,
pub annual_rewards_rate: u64,
pub rewards_share: u64,
pub total_tokens_deposited: u64,
pub num_miners: u64,
}
Expand description
A pool which distributes tokens to its Miners.
Fields
rewarder_key: Pubkey
Rewarder who owns this quarry
token_mint_key: Pubkey
LP token this quarry is designated to
bump: u8
Bump.
index: u16
Index of the Quarry.
token_mint_decimals: u8
Decimals on the token Mint.
famine_ts: i64
Timestamp when quarry rewards cease
last_update_ts: i64
Timestamp of last checkpoint
rewards_per_token_stored: u128
Rewards per token stored in the quarry
annual_rewards_rate: u64
Amount of rewards distributed to the quarry per year.
Rewards shared allocated to this quarry
total_tokens_deposited: u64
Total number of tokens deposited into the quarry.
num_miners: u64
Number of Miners.
Implementations
pub fn update_rewards_internal(
&mut self,
current_ts: i64,
rewarder: &Rewarder,
payroll: &Payroll
) -> ProgramResult
pub fn update_rewards_internal(
&mut self,
current_ts: i64,
rewarder: &Rewarder,
payroll: &Payroll
) -> ProgramResult
Updates the quarry by synchronizing its rewards rate with the rewarder.
pub fn update_rewards_and_miner(
&mut self,
miner: &mut Miner,
rewarder: &Rewarder,
current_ts: i64
) -> ProgramResult
pub fn update_rewards_and_miner(
&mut self,
miner: &mut Miner,
rewarder: &Rewarder,
current_ts: i64
) -> ProgramResult
Updates the quarry and miner with the latest info. https://github.com/Synthetixio/synthetix/blob/aeee6b2c82588681e1f99202663346098d1866ac/contracts/StakingRewards.sol#L158
pub fn process_stake_action_internal(
&mut self,
action: StakeAction,
current_ts: i64,
rewarder: &Rewarder,
miner: &mut Miner,
amount: u64
) -> ProgramResult
pub fn process_stake_action_internal(
&mut self,
action: StakeAction,
current_ts: i64,
rewarder: &Rewarder,
miner: &mut Miner,
amount: u64
) -> ProgramResult
Processes a StakeAction for a Miner,
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 Quarry where
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
u16: BorshDeserialize,
u8: BorshDeserialize,
i64: BorshDeserialize,
i64: BorshDeserialize,
u128: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
impl BorshDeserialize for Quarry where
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
u16: BorshDeserialize,
u8: BorshDeserialize,
i64: BorshDeserialize,
i64: BorshDeserialize,
u128: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
Auto Trait Implementations
impl RefUnwindSafe for Quarry
impl UnwindSafe for Quarry
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more