Crate quarry_mine[−][src]
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.
Quarry-related math and helpers.
Program for quarry_mine.
Rewarder utilities.
Macros
Generates the signer seeds for a crate::Rewarder.
Structs
Accounts for quarry_mine::accept_authority.
Emitted when reward tokens are claimed.
ClaimRewards accounts
Accounts for quarry_mine::create_miner.
Accounts for quarry_mine::create_quarry.
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.
Triggered when a new quarry is created.
Triggered when a quarry’s reward share is updated.
Read-only Rewarder that requires the authority to be a signer.
Triggered 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_pause_authority.
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
Staking accounts
Emitted when tokens are withdrawn from a Quarry.
Enums
Constants
The fees of new Rewarders– 1,000 KBPS = 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.
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
Returns the program ID
Type Definitions
Anchor generated Result to be used as the return type for the program.