Struct quarry_mine::Quarry
source · [−]pub struct Quarry {
pub rewarder: 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: Pubkey
Rewarder which manages 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
sourceimpl Quarry
impl Quarry
sourcepub fn update_rewards_internal(
&mut self,
current_ts: i64,
rewarder: &Rewarder,
payroll: &Payroll
) -> Result<()>
pub fn update_rewards_internal(
&mut self,
current_ts: i64,
rewarder: &Rewarder,
payroll: &Payroll
) -> Result<()>
Updates the quarry by synchronizing its rewards rate with the rewarder.
sourcepub fn update_rewards_and_miner(
&mut self,
miner: &mut Miner,
rewarder: &Rewarder,
current_ts: i64
) -> Result<()>
pub fn update_rewards_and_miner(
&mut self,
miner: &mut Miner,
rewarder: &Rewarder,
current_ts: i64
) -> Result<()>
Updates the quarry and miner with the latest info. https://github.com/Synthetixio/synthetix/blob/aeee6b2c82588681e1f99202663346098d1866ac/contracts/StakingRewards.sol#L158
sourcepub fn process_stake_action_internal(
&mut self,
action: StakeAction,
current_ts: i64,
rewarder: &Rewarder,
miner: &mut Miner,
amount: u64
) -> Result<()>
pub fn process_stake_action_internal(
&mut self,
action: StakeAction,
current_ts: i64,
rewarder: &Rewarder,
miner: &mut Miner,
amount: u64
) -> Result<()>
Processes a StakeAction for a Miner,
Trait Implementations
sourceimpl AccountDeserialize for Quarry
impl AccountDeserialize for Quarry
sourcefn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
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
sourceimpl AccountSerialize for Quarry
impl AccountSerialize for Quarry
sourceimpl 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,
sourceimpl BorshSerialize for Quarry where
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u8: BorshSerialize,
u16: BorshSerialize,
u8: BorshSerialize,
i64: BorshSerialize,
i64: BorshSerialize,
u128: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
impl BorshSerialize for Quarry where
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u8: BorshSerialize,
u16: BorshSerialize,
u8: BorshSerialize,
i64: BorshSerialize,
i64: BorshSerialize,
u128: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
sourceimpl Discriminator for Quarry
impl Discriminator for Quarry
fn discriminator() -> [u8; 8]
impl Copy for Quarry
Auto Trait Implementations
impl RefUnwindSafe for Quarry
impl Send for Quarry
impl Sync for Quarry
impl Unpin for Quarry
impl UnwindSafe for Quarry
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more