Crate quarry_mine
source · [−]Expand description
Liquidity mining rewards distribution program.
The program consists of three types of accounts:
- Rewarder, which controls token rewards distribution
- Quarry, which receive rewards, and
- Miner, which stake tokens into Quarrys to receive rewards.
This program is modeled after Synthetix’s StakingRewards.sol.
Modules
Validations for various accounts.
An Anchor generated module, providing a set of structs
mirroring the structs deriving Accounts
, where each field is
a Pubkey
. This is useful for specifying accounts for a client.
Contains addresses used for the Quarry program. These addresses are updated via program upgrades.
An Anchor generated module containing the program’s set of
instructions, where each method handler in the #[program]
mod is
associated with a struct defining the input arguments to the
method. These should be used directly, when one wants to serialize
Anchor instruction data, for example, when speciying
instructions on a client.
Calculates token distribution rates.
Module representing the program.
Quarry-related math and helpers.
Program for quarry_mine.
Implementation of the crate::quarry_mine::rescue_tokens instruction.
Rewarder utilities.
Macros
Generates the signer seeds for a crate::Miner.
Generates the signer seeds for a crate::Rewarder.
Structs
Accounts for quarry_mine::accept_authority.
Emitted when reward tokens are claimed.
Accounts for crate::quarry_mine::claim_rewards.
ClaimRewardsV2 accounts
Accounts for quarry_mine::create_miner.
Accounts for quarry_mine::create_quarry.
Accounts for quarry_mine::create_quarry_v2.
Accounts for quarry_mine::extract_fees.
Triggered when a new miner is created.
Mutable Rewarder that requires the authority to be a signer.
Accounts for quarry_mine::pause and quarry_mine::unpause.
Accounts for quarry_mine::new_rewarder.
Emitted when a new Rewarder is created.
Accounts for quarry_mine::new_rewarder_v2.
Emitted when a new quarry is created.
Emitted when a quarry’s reward share is updated.
Read-only Rewarder that requires the authority to be a signer.
Accounts for the crate::quarry_mine::rescue_tokens instruction.
Controls token rewards distribution to all Quarrys. The Rewarder is also the quarry_mint_wrapper::Minter registered to the quarry_mint_wrapper::MintWrapper.
Emitted when the daily rewards rate is updated.
Accounts for quarry_mine::set_annual_rewards.
Accounts for quarry_mine::set_famine.
Accounts for quarry_mine::set_rewards_share.
Emitted when tokens are staked into a Quarry.
Accounts for quarry_mine::transfer_authority.
Accounts for quarry_mine::update_quarry_rewards.
Claim accounts
Claim accounts
Staking accounts
Emitted when tokens are withdrawn from a Quarry.
Enums
Error Codes
Constants
The fees of new Rewarders: 1,000 milliBPS = 1 BP or 0.01%. This may be changed by governance in the future via program upgrade.
Maximum number of tokens that can be rewarded by a Rewarder per year.
The maximum number of basis points possible.
Statics
The static program ID
Functions
Confirms that a given pubkey is equivalent to the program ID
The Anchor codegen exposes a programming model where a user defines
a set of methods inside of a #[program]
module in a way similar
to writing RPC request handlers. The macro then generates a bunch of
code wrapping these user defined methods into something that can be
executed on Solana.
Safety
Handler for the crate::quarry_mine::rescue_tokens instruction.
Returns the program ID