Struct frac_stake::Jungle
source · pub struct Jungle {
pub key: Pubkey,
pub owner: Pubkey,
pub bumps: InitializeJungleBumps,
pub escrow: Pubkey,
pub reward_tokens: Vec<Reward>,
pub animals_staked: u64,
pub maximum_weekly_multiplier: u64,
pub weekly_multiplier: u64,
pub maximum_holdings_multiplier: u64,
pub holdings_multiplier: u64,
pub start: i64,
pub root: [u8; 32],
}
Expand description
The global state of the program
Fields§
§key: Pubkey
The identifier
owner: Pubkey
The owner of the program
bumps: InitializeJungleBumps
The bump used to generate PDAs
escrow: Pubkey
The PDA owning the community fund
reward_tokens: Vec<Reward>
Array of rewards tokens mint
animals_staked: u64
The total animals currently staked.
maximum_weekly_multiplier: u64
§weekly_multiplier: u64
§maximum_holdings_multiplier: u64
§holdings_multiplier: u64
§start: i64
The time the staking starts (in seconds since 1970)
root: [u8; 32]
The root of the merkle tree used to know if a token is part of the collection
Trait Implementations§
source§impl AccountDeserialize for Jungle
impl AccountDeserialize for Jungle
source§fn 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
.source§fn 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.
source§impl AccountSerialize for Jungle
impl AccountSerialize for Jungle
source§impl BorshDeserialize for Junglewhere
Pubkey: BorshDeserialize,
InitializeJungleBumps: BorshDeserialize,
Vec<Reward>: BorshDeserialize,
u64: BorshDeserialize,
i64: BorshDeserialize,
[u8; 32]: BorshDeserialize,
impl BorshDeserialize for Junglewhere Pubkey: BorshDeserialize, InitializeJungleBumps: BorshDeserialize, Vec<Reward>: BorshDeserialize, u64: BorshDeserialize, i64: BorshDeserialize, [u8; 32]: BorshDeserialize,
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
source§fn 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.
source§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.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where R: Read,
source§impl BorshSerialize for Junglewhere
Pubkey: BorshSerialize,
InitializeJungleBumps: BorshSerialize,
Vec<Reward>: BorshSerialize,
u64: BorshSerialize,
i64: BorshSerialize,
[u8; 32]: BorshSerialize,
impl BorshSerialize for Junglewhere Pubkey: BorshSerialize, InitializeJungleBumps: BorshSerialize, Vec<Reward>: BorshSerialize, u64: BorshSerialize, i64: BorshSerialize, [u8; 32]: BorshSerialize,
source§impl Discriminator for Jungle
impl Discriminator for Jungle
const DISCRIMINATOR: [u8; 8] = _
fn discriminator() -> [u8; 8]
Auto Trait Implementations§
impl RefUnwindSafe for Jungle
impl Send for Jungle
impl Sync for Jungle
impl Unpin for Jungle
impl UnwindSafe for Jungle
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more