Struct account_compression::state::rollover::RolloverMetadata
source · #[repr(C)]pub struct RolloverMetadata {
pub index: u64,
pub rollover_fee: u64,
pub rollover_threshold: u64,
pub network_fee: u64,
pub rolledover_slot: u64,
pub close_threshold: u64,
pub additional_bytes: u64,
}
Fields§
§index: u64
Unique index.
rollover_fee: u64
This fee is used for rent for the next account. It accumulates in the account so that once the corresponding Merkle tree account is full it can be rolled over
rollover_threshold: u64
The threshold in percentage points when the account should be rolled over (95 corresponds to 95% filled).
network_fee: u64
Tip for maintaining the account.
rolledover_slot: u64
The slot when the account was rolled over, a rolled over account should not be written to.
close_threshold: u64
If current slot is greater than rolledover_slot + close_threshold and the account is empty it can be closed. No ‘close’ functionality has been implemented yet.
additional_bytes: u64
Placeholder for bytes of additional accounts which are tied to the Merkle trees operation and need to be rolled over as well.
Implementations§
Trait Implementations§
source§impl AccountDeserialize for RolloverMetadata
impl AccountDeserialize for RolloverMetadata
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 BorshDeserialize for RolloverMetadatawhere
u64: BorshDeserialize,
impl BorshDeserialize for RolloverMetadatawhere
u64: 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 Clone for RolloverMetadata
impl Clone for RolloverMetadata
source§fn clone(&self) -> RolloverMetadata
fn clone(&self) -> RolloverMetadata
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RolloverMetadata
impl Debug for RolloverMetadata
source§impl Default for RolloverMetadata
impl Default for RolloverMetadata
source§fn default() -> RolloverMetadata
fn default() -> RolloverMetadata
Returns the “default value” for a type. Read more
source§impl Discriminator for RolloverMetadata
impl Discriminator for RolloverMetadata
const DISCRIMINATOR: [u8; 8] = _
fn discriminator() -> [u8; 8]
source§impl PartialEq for RolloverMetadata
impl PartialEq for RolloverMetadata
impl Copy for RolloverMetadata
impl Pod for RolloverMetadata
impl StructuralPartialEq for RolloverMetadata
impl ZeroCopy for RolloverMetadata
Auto Trait Implementations§
impl Freeze for RolloverMetadata
impl RefUnwindSafe for RolloverMetadata
impl Send for RolloverMetadata
impl Sync for RolloverMetadata
impl Unpin for RolloverMetadata
impl UnwindSafe for RolloverMetadata
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
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more