Struct quarry_mine::Miner [−][src]
pub struct Miner {
pub quarry_key: Pubkey,
pub authority: Pubkey,
pub bump: u8,
pub token_vault_key: Pubkey,
pub rewards_earned: u64,
pub rewards_per_token_paid: u128,
pub balance: u64,
pub index: u64,
}
Expand description
An account that has staked tokens into a Quarry.
Fields
quarry_key: Pubkey
Authority who manages this Miner. All withdrawals of tokens must accrue to TokenAccounts owned by this account.
bump: u8
Bump.
token_vault_key: Pubkey
TokenAccount to hold the Miner’s staked LP tokens.
rewards_earned: u64
Stores the amount of tokens that the Miner may claim. Whenever the Miner claims tokens, this is reset to 0.
rewards_per_token_paid: u128
A checkpoint of the Quarry’s reward tokens paid per staked token.
When the Miner is initialized, this number starts at 0. On the first quarry_mine::stake_tokens, the Quarry#update_rewards_and_miner method is called, which updates this checkpoint to the current quarry value.
On a quarry_mine::claim_rewards, the difference in checkpoints is used to calculate the amount of tokens owed.
balance: u64
Number of tokens the Miner holds.
index: u64
Index of the 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 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
.
Auto Trait Implementations
impl RefUnwindSafe for Miner
impl UnwindSafe for Miner
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more