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: Pubkey

Authority who controls the rewarder

pending_authority: Pubkey

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_rewards_shares: u64

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.

pause_authority: Pubkey

Authority allowed to pause a Rewarder.

is_paused: bool

If true, all instructions on the Rewarder are paused other than quarry_mine::unpause.

Implementations

Asserts that this Rewarder is not paused.

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

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.

Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more

Deserialize this instance from a slice of bytes.

Serialize this instance into a vector of bytes.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.