Struct quarry_merge_mine::state::MergePool
source · [−]pub struct MergePool {
pub primary_mint: Pubkey,
pub bump: u8,
pub replica_mint: Pubkey,
pub mm_count: u64,
pub total_primary_balance: u64,
pub total_replica_balance: u64,
pub reserved: [u64; 16],
}
Expand description
A token that represents a locked other token.
To derive the address, use the following code:
&[
b"MergePool" as &[u8],
&$pool.primary_mint.to_bytes(),
&[$pool.bump],
]
Fields
primary_mint: Pubkey
Mint of the underlying staked token, i.e. the quarry_mine::Quarry::token_mint_key.
bump: u8
Bump seed.
replica_mint: Pubkey
Mint of the replica staked token, i.e. the quarry_mine::Quarry::token_mint_key of replicas.
mm_count: u64
Number of MergeMiners tracked by the MergePool.
total_primary_balance: u64
Total number of primary tokens deposited. Used for TVL calculation.
total_replica_balance: u64
Total number of replica tokens deposited.
reserved: [u64; 16]
Reserved for future program upgrades.
Implementations
Trait Implementations
sourceimpl AccountDeserialize for MergePool
impl AccountDeserialize for MergePool
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
sourcefn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
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
sourceimpl AccountSerialize for MergePool
impl AccountSerialize for MergePool
sourceimpl BorshDeserialize for MergePool where
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
Pubkey: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
[u64; 16]: BorshDeserialize,
impl BorshDeserialize for MergePool where
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
Pubkey: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
u64: BorshDeserialize,
[u64; 16]: BorshDeserialize,
sourcefn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
sourceimpl BorshSerialize for MergePool where
Pubkey: BorshSerialize,
u8: BorshSerialize,
Pubkey: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
[u64; 16]: BorshSerialize,
impl BorshSerialize for MergePool where
Pubkey: BorshSerialize,
u8: BorshSerialize,
Pubkey: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
u64: BorshSerialize,
[u64; 16]: BorshSerialize,
sourceimpl Discriminator for MergePool
impl Discriminator for MergePool
fn discriminator() -> [u8; 8]
impl Copy for MergePool
Auto Trait Implementations
impl RefUnwindSafe for MergePool
impl Send for MergePool
impl Sync for MergePool
impl Unpin for MergePool
impl UnwindSafe for MergePool
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